Description
Description
NGINX JavaScript (njs) has a vulnerability where the njs XML module exposes entity-backed XML attributes inconsistently with libxml2 canonicalization. In both the built-in njs and QuickJS backends during the canonicalization process, the $attr$Name getter may return undefined for an explicitly present attribute containing an internal entity reference. The $attrs getter may return a value derived only from the first attribute child. This may allow an unauthenticated attacker that invests significant effort in obtaining a genuinely signed document to skip validation while signature verification succeeds. An nginx-saml deployment is a confirmed affected consumer when run with the built-in njs backend.

Impact
In affected signed-XML consumers, an unauthenticated attacker can cause security-relevant attributes to appear absent or truncated while signature verification succeeds. In nginx-saml, this can bypass expiry, Destination, and request-correlation checks, enabling replay or acceptance of a response outside its intended context. It does not permit signature or identity forgery, or a direct availability impact. 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-10-14
Score: 8.3 High
EPSS: < 1% Very Low
KEV: No
Impact: Bypass Signed XML Validation
Action: Patch
AI Analysis

Impact

The NGINX JavaScript (njs) XML module contains a flaw where entity‑backed XML attributes are exposed inconsistently with libxml2 canonicalization. During canonicalization, attribute getters may return undefined for explicitly present attributes that reference internal entities, and the attributes list may be populated from only the first attribute child. As a result, an unauthenticated attacker who supplies a carefully crafted signed XML document can cause security‑relevant attributes to appear absent or truncated while the signature still verifies successfully. This allows the attacker to bypass checks on expiration, Destination, and request correlation, enabling replay or acceptance of responses outside their intended context. The defect does not enable signature or identity forgery, nor does it cause availability issues, and it only affects data plane processing.

Affected Systems

The vulnerability affects systems running the F5 NGINX JavaScript (njs) module, specifically NGINX configurations that employ the njs XML module. Deployments using nginx‑saml are confirmed affected consumers when operating with the built‑in njs backend. No specific version information is provided; all supported builds of the njs module prior to a vendor patch or upgrade are potentially impacted.

Risk and Exploitability

The CVSS score of 8.3 indicates high severity, and the EPSS score is < 1%, indicating a very low probability of exploitation. It is not listed in CISA’s KEV catalog. The attack vector is data plane: an attacker must form a signed XML payload that reaches the target NGINX instance and is parsed by the njs XML module. The attacker does not need authentication to the service and must invest effort to craft a valid XML document with internal entity references. The impact is limited to verification bypass and potential replay attacks in consumer services such as nginx‑saml.

Generated by OpenCVE AI on October 15, 2026 at 19:54 UTC.

Remediation

Vendor Workaround

Applications processing signed XML should reject DTD-bearing input before calling xml.parse(). The check must cover the complete document after decoding its accepted input encoding; a parser-level DTD prohibition is preferable to a raw byte search for "<!DOCTYPE". Applications should also treat absent security-relevant attributes as validation failures rather than optional values. nginx-saml deployments should explicitly validate Destination, request correlation when unsolicited SSO is not intended, assertion validity, bearer SubjectConfirmation, Recipient, and SubjectConfirmationData InResponseTo.


OpenCVE Recommended Actions

  • Apply the latest NGINX update that fixes the njs XML module vulnerability – refer to the vendor advisory at https://my.f5.com/manage/s/article/K000162615 for patch details.
  • For nginx‑saml deployments, explicitly validate the Destination attribute, request correlation, assertion validity, bearer SubjectConfirmation, Recipient, and SubjectConfirmationData InResponseTo fields in addition to standard signature verification.
  • When processing signed XML, reject any DTD-bearing input before calling xml.parse() and enforce a parser‑level DTD prohibition; do not rely on a simple byte search for "<!DOCTYPE".
  • Treat absent security‑relevant attributes as validation failures rather than optional values during XML processing.

Generated by OpenCVE AI on October 15, 2026 at 19:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 16 Oct 2026 22:45:00 +0000

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

Thu, 15 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 14 Oct 2026 15:00:00 +0000

Type Values Removed Values Added
Description Description NGINX JavaScript (njs) has a vulnerability where the njs XML module exposes entity-backed XML attributes inconsistently with libxml2 canonicalization. In both the built-in njs and QuickJS backends during the canonicalization process, the $attr$Name getter may return undefined for an explicitly present attribute containing an internal entity reference. The $attrs getter may return a value derived only from the first attribute child. This may allow an unauthenticated attacker that invests significant effort in obtaining a genuinely signed document to skip validation while signature verification succeeds. An nginx-saml deployment is a confirmed affected consumer when run with the built-in njs backend. Impact In affected signed-XML consumers, an unauthenticated attacker can cause security-relevant attributes to appear absent or truncated while signature verification succeeds. In nginx-saml, this can bypass expiry, Destination, and request-correlation checks, enabling replay or acceptance of a response outside its intended context. It does not permit signature or identity forgery, or a direct availability impact. 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 vulnerability
Weaknesses CWE-436
References
Metrics cvssV3_1

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

cvssV4_0

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


Subscriptions

F5 Nginx Javascript
cve-icon MITRE

Status: PUBLISHED

Assigner: f5

Published:

Updated: 2026-10-15T16:43:46.354Z

Reserved: 2026-09-30T21:56:14.632Z

Link: CVE-2026-101019

cve-icon Vulnrichment

Updated: 2026-10-15T16:38:37.939Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-14T15:17:01.697

Modified: 2026-10-15T17:17:08.083

Link: CVE-2026-101019

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-16T22:30:13Z

Weaknesses