
Script di rilevamento e mitigazione per CVE-2021-42717 -> Vulnerabilità DoS in ModSecurity nel parsing JSON
Script di rilevamento e mitigazione per CVE-2021-42717 -> Vulnerabilità DoS di ModSecurity nell'analisi JSON
ModSecurity 3.x fino alla 3.0.5 gestisce erroneamente oggetti JSON eccessivamente annidati. Oggetti JSON costruiti con nidificazione di decine di migliaia di livelli potrebbero far sì che il server web non sia in grado di servire richieste legittime. Anche una richiesta HTTP moderatamente grande (ad es., 300KB) può occupare uno dei limitati processi worker di NGINX per minuti e consumare quasi tutta la CPU disponibile sulla macchina. Modsecurity 2 è similmente vulnerabile: le versioni interessate includono 2.8.0 fino alla 2.9.4.
Possibile mitigazione: Creare una regola concatenata di fase:1 che rifiuti le richieste che utilizzerebbero il parser JSON se Content-Length supera una certa dimensione (da 10.000 a 20.000 byte è probabilmente sicuro nella maggior parte delle installazioni). Alcuni utenti della v2 potrebbero alternativamente essere in grado di utilizzare l'elemento di configurazione SecRequestBodyNoFilesLimit se anche altri corpi di richiesta non file sono previsti al di sotto di soglie simili. Nota speciale per gli utenti con ModSecurity <v2.9.3: sebbene il problema esista in versioni precedenti come v2.9.2, sembra richiedere una dimensione del corpo della richiesta maggiore per innescare ritardi problematici, il che significa che i limiti riguardanti la dimensione del corpo della richiesta possono probabilmente essere più grandi (forse da 40.000 a 50.000 byte) fornendo comunque una protezione decente nella maggior parte delle installazioni. https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/modsecurity-dos-vulnerability-in-json-parsing-cve-2021-42717/
