
Detection and Mitigation script for CVE-2021-42717 -> ModSecurity DoS Vulnerability in JSON Parsing
Script de Detecção e Mitigação para CVE-2021-42717 -> Vulnerabilidade DoS no ModSecurity ao analisar JSON
O ModSecurity 3.x até 3.0.5 lida incorretamente com objetos JSON excessivamente aninhados. Objetos JSON criados com aninhamento de dezenas de milhares de níveis podem fazer com que o servidor web não consiga atender solicitações legítimas. Mesmo uma solicitação HTTP moderadamente grande (ex.: 300KB) pode ocupar um dos limitados processos de trabalho do NGINX por minutos e consumir quase toda a CPU disponível na máquina. O Modsecurity 2 é igualmente vulnerável: as versões afetadas incluem 2.8.0 até 2.9.4.
Mitigação Possível: Crie uma regra encadeada de fase 1 que rejeite solicitações que usariam o analisador JSON se o Content-Length exceder um determinado tamanho (10.000 a 20.000 bytes provavelmente são seguros na maioria das instalações). Alguns usuários da v2 podem alternativamente fazer uso do item de configuração SecRequestBodyNoFilesLimit se outros corpos de solicitação sem arquivo também forem esperados abaixo de limites semelhantes. Nota especial para usuários com ModSecurity <v2.9.3: embora o problema exista em versões anteriores como v2.9.2, parece ser necessário um tamanho maior de corpo de solicitação para desencadear atrasos problemáticos, o que significa que os limites que envolvem o tamanho do corpo da solicitação podem ser maiores (talvez 40.000 a 50.000 bytes) e ainda assim proporcionar proteção decente na maioria das instalações. https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/modsecurity-dos-vulnerability-in-json-parsing-cve-2021-42717/
