ZeroHour

CVE-2026-78222

large

Null-dereference DoS in NGINX JavaScript (njs) ngx.fetch() crashes NGINX workers

CVSS 4.0
8.7 high
EPSS
<1%p30
Published
()
Modified
AI analysis

CVE-2026-78222 is a null-pointer-dereference flaw (CWE-476) in NGINX JavaScript (njs) that crashes an NGINX worker when trusted JavaScript reads the Response.statusText property of a malformed HTTP response obtained via ngx.fetch(). To trigger it, an attacker must control or influence the HTTP response the njs code fetches (for example an upstream, backend, or third-party service reached by ngx.fetch()) and supply a malformed response. The attacker gains a remote denial of service: the crashed worker drops the connections it is handling, and repeated triggering can continuously disrupt the NGINX instance; there is no confidentiality or integrity impact, and this is a data-plane issue with no control-plane exposure. Only deployments running njs whose configurations call ngx.fetch() against attacker-influenceable responses are affected; NGINX deployments that do not use njs are not. There is no public proof-of-concept, no CISA KEV listing, and no known in-the-wild exploitation; EPSS currently assigns a 0.4% probability of exploitation within 30 days.

What to do: Upgrade NGINX JavaScript (njs) and the bundled NGINX njs module to the fixed version listed in the F5 security advisory, as affected version ranges are not specified in the data available here. In the meantime, audit njs code for ngx.fetch() calls and remove or guard reads of Response.statusText where the fetched response may be attacker-influenced, or restrict fetches to trusted upstreams. If you run an NGINX release that has reached End of Technical Support, note it was not evaluated for this flaw and plan a move to a supported version.

Affected
F5 NGINX JavaScript (njs), used via the njs/ngx_http_js_module with NGINX
Estimated exposure
largeTens of thousands of NGINX deployments plausibly run njs (est.), with the truly at-risk subset limited to configurations using ngx.fetch() against… — NGINX is among the most widely deployed web servers (roughly a third of all websites per public surveys) and njs ships in official NGINX packages and NGINX Plus, but there is no public telemetry on njs adoption, so the count of…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

A vulnerability exists in NGINX JavaScript where a malformed HTTP response received by ngx.fetch() can crash an NGINX worker when trusted JavaScript reads Response.statusText. Exploitation requires control or influence over the fetched HTTP response. Impact: This vulnerability may allow remote attackers to cause a denial-of-service (DoS) on the NGINX system. There is no control plane exposure; this is a data plane issue only. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.

Weakness
CWE-476
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.