CVE-2025-66305: Negação de serviço devido ao tratamento inadequado de entrada no parâmetro Supported
Publicação CVE: https://www.cve.org/CVERecord?id=CVE-2025-66305
Resumo
Uma vulnerabilidade de Negação de Serviço (DoS) foi identificada no submenu "Idiomas" do painel de configuração administrativa do Grav (/admin/config/system). Especificamente, o parâmetro Supported não valida corretamente a entrada do usuário. Se um valor malformado for inserido — como uma única barra (/) ou uma string de teste XSS — isso causa um erro fatal de análise de expressão regular no servidor.
Detalhes
O aplicativo constrói dinamicamente uma expressão regular usando o conteúdo do campo Supported sem escapar a entrada usando preg_quote() ou validação adequada. Isso permite que atacantes injetem sintaxe inválida no mecanismo de expressões regulares, causando a falha do aplicativo durante a resolução de idioma.
Mensagem de erro:
Whoops \ Exception \ ErrorException (E_WARNING) preg_match(): Modificador desconhecido 'o' /system/src/Grav/Common/Language/Language.php244
PoC
Endpoint Vulnerável: POST /admin/config/system
Submenu: Languages
Parâmetro: Supported
- Faça login no Painel de Administração do Grav.
- Navegue até: Configuração → Sistema → Idiomas.
- Localize o campo
Suported. - Insira um payload (por exemplo, uma única barra
/). - Clique em Salvar.

- Observe: Todas as páginas do aplicativo começam a exibir um erro fatal e ficam inacessíveis.

Impacto
- Ataque de Negação de Serviço (DoS) em toda a aplicação.
- Todas as telas de login e administração travam com o mesmo erro.
- Potencialmente explorável por: Usuários do painel de administração; CSRF se configurado incorretamente.
Referência
https://github.com/getgrav/grav/security/advisories/GHSA-m8vh-v6r6-w7p6
Encontrado por
By: CVE-Hunters

