Eine schwerwiegende Sicherheitslücke bedroht derzeit Webserver, die das Apache-Modul mod_security2 einsetzen. Die am 21. Mai 2025 veröffentlichte Schwachstelle mit der Kennung CVE-2025-47947 ermöglicht es Angreifern, durch gezielt präparierte Anfragen einen Denial-of-Service (DoS) auszulösen – und das mit nur einer einzigen HTTP-Anfrage.
mod_security2 ist ein weit verbreitetes Modul für den Apache-Webserver, das als Web Application Firewall (WAF) dient. Es analysiert HTTP-Anfragen und -Antworten auf Basis definierter Regeln, um Angriffe frühzeitig abzuwehren. Die Engine erlaubt unter anderem auch das „Sanitisieren“ (Maskieren) von sensitiven Daten im Log – ein Sicherheitsfeature, das nun ironischerweise selbst zur Schwachstelle geworden ist.
Die Lücke wurde von Simon Studer (@studersi) im Auftrag der Swiss Post entdeckt. Sie betrifft alle derzeit stabilen Versionen von mod_security2, insbesondere die Version 2.9.8. Ursache ist ein unkontrolliertes Anwachsen interner Datenstrukturen beim Verarbeiten von JSON-Payloads, wenn bestimmte Bedingungen erfüllt sind:
Voraussetzungen für die Ausnutzung:
- Der
Content-Type
der HTTP-Anfrage istapplication/json
- Es existiert eine Regel mit der Aktion
sanitiseMatchedBytes
- Das JSON-Objekt enthält eine große Anzahl an Elementen (z. B. 1.000)
Da die Engine alle JSON-Felder auf einmal extrahiert und bei Übereinstimmung jeweils jedes Feld erneut zur Sanitisierung hinzufügt, wächst die Liste der zu bearbeitenden Einträge exponentiell. So können aus 1.000 Feldern über 1.000.000 zu speichernde Elemente entstehen – und das bei einem einzigen Request.
Diese Werte landen in einer dynamisch wachsenden apr_table
, einer Speicherstruktur der Apache API. Bereits wenige Anfragen können dadurch zu einem Memory Exhaustion Error und schließlich zum Absturz des Apache-Dienstes führen.
Mit einem einfachen PowerShell- oder Python-Skript lässt sich ein JSON-Array mit 1.000 Einträgen generieren. Kombiniert mit einer gezielten Regelkonfiguration im Apache, reicht ein einfacher curl
-Aufruf mit diesem Payload, um den Angriff auszuführen. Apache reagiert daraufhin mit stark wachsendem Speicherverbrauch – und bricht irgendwann ab.
Derzeit existiert kein offizieller Patch, obwohl laut dem Entdecker bereits ein Fix getestet wird. Bis zur Veröffentlichung empfiehlt sich:
- Audit Engine deaktivieren (
SecAuditEngine Off
) - sanitiseMatchedBytes entfernen aus Regeln, die mit JSON-Content umgehen
- SecArgumentsLimit reduzieren, um die Größe akzeptierter Payloads zu begrenzen
Professionelle Hilfe erwünscht?
Sentiguard ist spezialisiert auf Notfallhilfe nach Cyberattacken, IT Sicherheitsbeauftragte und IT Sicherheitskonzepte nach BSI Standard. Haben Sie Fragen und wünschen Sie unverbindliche Beratung, dann melden Sie sich gerne bei uns: