
Erkennungs- und Abhilfeskript für CVE-2021-42717 -> ModSecurity-DoS-Schwachstelle im JSON-Parsing
Erkennungs- und Minderungsskript für CVE-2021-42717 -> ModSecurity-DoS-Schwachstelle in der JSON-Analyse
ModSecurity 3.x bis 3.0.5 behandelt übermäßig verschachtelte JSON-Objekte fehlerhaft. Präparierte JSON-Objekte mit einer Verschachtelungstiefe von Zehntausenden können dazu führen, dass der Webserver legitime Anfragen nicht mehr bedienen kann. Selbst eine mittelgroße (z. B. 300KB) HTTP-Anfrage kann einen der begrenzten NGINX-Worker-Prozesse für Minuten belegen und fast die gesamte verfügbare CPU des Rechners verbrauchen. Modsecurity 2 ist in ähnlicher Weise betroffen: Zu den betroffenen Versionen gehören 2.8.0 bis 2.9.4.
Mögliche Abschwächung: Erstellen Sie eine verkettete Regel in Phase 1 (phase:1), die Anfragen ablehnt, die den JSON-Parser verwenden würden, wenn die Content-Length eine bestimmte Größe überschreitet (10.000 bis 20.000 Bytes sind in den meisten Installationen wahrscheinlich sicher). Einige v2-Benutzer können alternativ das Konfigurationselement SecRequestBodyNoFilesLimit verwenden, wenn andere Nicht-Datei-Anfragekörper ebenfalls voraussichtlich unter ähnlichen Schwellenwerten bleiben. Besonderer Hinweis für Benutzer von ModSecurity <v2.9.3: Obwohl das Problem auch in früheren Versionen wie v2.9.2 besteht, scheint es eine größere Anfragekörpergröße zu erfordern, um problematische Verzögerungen auszulösen, was bedeutet, dass Grenzwerte für die Anfragekörpergröße wahrscheinlich höher angesetzt werden können (vielleicht 40.000 bis 50.000 Bytes) und dennoch einen angemessenen Schutz in den meisten Installationen bieten. https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/modsecurity-dos-vulnerability-in-json-parsing-cve-2021-42717/
