Description
Description


NGINX JavaScript (njs) has a vulnerability in the XML module's namespace prefix list parser, reachable through the xml.exclusiveC14n() method. An unauthenticated remote attacker can trigger it when an affected NGINX configuration passes an externally controlled XML namespace prefix list to that method. Both the njs and the QuickJS (qjs) engines are affected. A crafted prefix list causes an out-of-bounds write past the end of a heap allocation. With the njs engine, which is the engine used when the js_engine directive is absent, this corrupts adjacent objects and crashes the NGINX worker. With the QuickJS engine, the same call additionally leaks the prefix list on every invocation, causing worker memory to grow across requests. The official nginxinc/nginx-saml reference implementation is affected during SAML signature verification. It reads InclusiveNamespaces/@PrefixList from an untrusted SAML message and passes it to xml.exclusiveC14n() before the signature has been verified, so a valid SAML signature is not required. A crafted SAML Response, Assertion, LogoutRequest, or LogoutResponse is sufficient. Code execution has not been demonstrated and cannot be ruled out for all platforms, as the effect of the out-of-bounds write depends on conditions beyond the attacker's control.  








Impact


This vulnerability allows remote attackers to cause a denial of service on the NGINX system, either through repeatable worker restarts or through worker memory growth or possibly trigger code execution. 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.
Published: 2026-09-02
Score: 9.2 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability lies in the XML module's namespace prefix list parser used by the xml.exclusiveC14n() method in NGINX JavaScript (njs) and QuickJS engines. A crafted prefix list triggers an out‑of‑bounds write beyond a heap allocation, which can crash an NGINX worker or cause memory growth. The defect may lead to denial of service and, depending on platform and conditions, could potentially enable code execution. The flaw is a classic out‑of‑bounds memory write (CWE‑122).

Affected Systems

The affected products are F5's NGINX JavaScript implementations that use the njs or QuickJS engines. Any NGINX build that invokes xml.exclusiveC14n() with an externally controlled XML namespace prefix list is vulnerable. This includes the official nginxinc/nginx-saml reference implementation during SAML signature verification, where the InclusiveNamespaces/@PrefixList value is read from an untrusted SAML message before the signature is checked. No specific version numbers are listed, so all installations that have not upgraded to the latest patched releases are potentially affected. The issue is confined to the data plane; there is no control‑plane exposure.

Risk and Exploitability

The CVSS score of 9.2 marks this as critical. EPSS is not available, so the current probability of exploitation is unknown, but the lack of evidence does not preclude exploitation. The vulnerability is not listed in CISA’s KEV catalog. An unauthenticated remote attacker could deliver a malicious SAML Response, Assertion, LogoutRequest or LogoutResponse, or otherwise inject a crafted XML namespace prefix list via an HTTP request. This can cause the NGINX worker to crash repeatedly or grow memory, leading to denial of service. While code execution has not been demonstrated, the out‑of‑bounds write could be leveraged on certain platforms if attack conditions are met.

Generated by OpenCVE AI on September 3, 2026 at 09:28 UTC.

Remediation

Vendor Workaround

None


OpenCVE Recommended Actions

  • Upgrade to the latest NGINX release that contains the fix for the XML namespace prefix list parser.
  • Validate SAML signatures before parsing any IncludedNamespaces/@PrefixList values; ensure the signature verification occurs before xml.exclusiveC14n() is called.
  • Restrict or sanitize XML namespace prefixes sent to the server by implementing input validation or by disabling the QuickJS engine if not required.
  • Consider configuring NGINX to limit memory usage or connections to mitigate potential memory growth attacks while the patch is pending.

Generated by OpenCVE AI on September 3, 2026 at 09:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 03 Sep 2026 10:15:00 +0000

Type Values Removed Values Added
First Time appeared F5
F5 nginx Javascript
Vendors & Products F5
F5 nginx Javascript

Wed, 02 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 02 Sep 2026 10:45:00 +0000

Type Values Removed Values Added
Description Description NGINX JavaScript (njs) has a vulnerability in the XML module's namespace prefix list parser, reachable through the xml.exclusiveC14n() method. An unauthenticated remote attacker can trigger it when an affected NGINX configuration passes an externally controlled XML namespace prefix list to that method. Both the njs and the QuickJS (qjs) engines are affected. A crafted prefix list causes an out-of-bounds write past the end of a heap allocation. With the njs engine, which is the engine used when the js_engine directive is absent, this corrupts adjacent objects and crashes the NGINX worker. With the QuickJS engine, the same call additionally leaks the prefix list on every invocation, causing worker memory to grow across requests. The official nginxinc/nginx-saml reference implementation is affected during SAML signature verification. It reads InclusiveNamespaces/@PrefixList from an untrusted SAML message and passes it to xml.exclusiveC14n() before the signature has been verified, so a valid SAML signature is not required. A crafted SAML Response, Assertion, LogoutRequest, or LogoutResponse is sufficient. Code execution has not been demonstrated and cannot be ruled out for all platforms, as the effect of the out-of-bounds write depends on conditions beyond the attacker's control.   Impact This vulnerability allows remote attackers to cause a denial of service on the NGINX system, either through repeatable worker restarts or through worker memory growth or possibly trigger code execution. 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.
Title NGINX ngx_http_js_module vulnerablility
Weaknesses CWE-122
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 9.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

F5 Nginx Javascript
cve-icon MITRE

Status: PUBLISHED

Assigner: f5

Published:

Updated: 2026-09-03T03:56:39.199Z

Reserved: 2026-08-25T23:21:14.550Z

Link: CVE-2026-78689

cve-icon Vulnrichment

Updated: 2026-09-02T17:58:11.391Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-02T16:17:25.667

Modified: 2026-09-03T13:06:10.270

Link: CVE-2026-78689

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-03T10:00:11Z

Weaknesses
  • CWE-122

    Heap-based Buffer Overflow