Skip to content
Tech News
← Back to articles

New Nginx Exploit

read original get Nginx Security Patch Kit → more articles
Why This Matters

The discovery of a critical remote code execution vulnerability in NGINX highlights the importance of timely security updates for web servers, as such flaws can be exploited to compromise server integrity and data. This underscores the ongoing need for proactive security measures and vigilant patch management in the tech industry to protect both infrastructure and users.

Key Takeaways

NGINX Rift

RCE Proof of concept for CVE-2026-42945, a critical heap buffer overflow in NGINX's ngx_http_rewrite_module introduced in 2008. The bug enables unauthenticated remote code execution against servers using rewrite and set directives.

This vulnerability — along with three other memory corruption issues (CVE-2026-42946, CVE-2026-40701, CVE-2026-42934) — was autonomously discovered by depthfirst's security analysis system after a single click of onboarding the NGINX source.

Want to find issues like this in your own code? Try the same system at https://depthfirst.com/open-defense.

The Bug (TL;DR)

NGINX's script engine uses a two-pass process: first compute the required buffer size, then copy data in. The is_args flag is set on the main engine when a rewrite replacement contains ? , but the length-calculation pass runs on a freshly zeroed sub-engine. So:

Length pass sees is_args = 0 → returns raw capture length.

sees → returns raw capture length. Copy pass sees is_args = 1 → calls ngx_escape_uri with NGX_ESCAPE_ARGS , expanding each escapable byte to 3 bytes.

The copy overflows the undersized heap buffer with attacker-controlled URI data. Exploitation uses cross-request heap feng shui to corrupt an adjacent ngx_pool_t 's cleanup pointer (sprayed via POST bodies, since URI bytes can't contain null bytes), redirecting it to a fake ngx_pool_cleanup_s invoking system() on pool destruction.

Read more about this bug in our technical write-up.

... continue reading