
Proof-of-Concept-Exploit für CVE-2026-42945, einen kritischen Heap-Pufferüberlauf im NGINX-Rewrite-Modul, der eine Remotecodeausführung durch präparierte URI-Anfragen ermöglicht.
Ein Heap-Pufferüberlauf in der ngx_http_rewrite_module-Komponente von NGINX, der 2008 eingeführt wurde – das heißt, er existierte 16 Jahre vor seiner Entdeckung.
Die Schwachstelle liegt in der Two-Pass-Skript-Engine:
Das Problem: Der interne Engine-Status ändert sich zwischen den beiden Durchläufen. Wenn ein Rewrite-Ersatz ein ? (Fragezeichen) enthält, führt ein nicht weitergegebenes Flag zu einer zu kleinen Pufferzuweisung, sodass vom Angreifer kontrollierte, escaped URI-Daten den Heap-Bereich überlaufen lassen.
# Conceptual: padding request URI with '+' signs forces
# the escaping function to expand each byte into three bytes,
# overflowing the allocated chunk. The overflow size is
# fully controlled by the number of escapable characters.
Um RCE zu erreichen (ASLR umgehen):
ngx_pool_t-Bereinigungspointerngx_pool_cleanup_s, das bei der Poolzerstörung system() aufruftVerwandte CVEs, die vom selben System entdeckt wurden: CVE-2026-42946, CVE-2026-40701, CVE-2026-42934
DepthFirstDisclosures/Nginx-Rift auf GitHubDiese Schwachstelle wurde autonom vom Sicherheitsanalyse-System von DepthFirst entdeckt, nachdem der NGINX-Quellcode mit einem einzigen Klick integriert wurde – was die Leistungsfähigkeit der automatischen Schwachstellenerkennung unterstreicht.
? in Ersetzungen