Read the docs

Interpretation conflict in NGINX JavaScript XML attribute handling

Priority LOW 35CWE-436Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
High · Low · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA.

Summary

F5 NGINX JavaScript (njs) from 0.7.10 before 1.0.2 has an interpretation conflict (CWE-436) in its XML module. Attributes with internal entity references may read as undefined, and the $attrs getter may return a value derived only from the first attribute child, both differing from libxml2 canonicalization. An unauthenticated attacker who obtains a genuinely signed document can make security-relevant attributes appear absent or truncated while signature verification succeeds.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0021 11th percentileScored 2026-11-07
Fix Fixed NGINX JavaScript (F5): 1.0.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
F5NGINX JavaScript0.7.10 to before 1.0.21.0.2Patch availableCNA
  • NGINX JavaScript VendorF5 Affected 0.7.10 to before 1.0.2 Fixed in 1.0.2 Patch available CNA

Remediation

Upgrade F5 NGINX JavaScript to version 1.0.2 or later, which fixes the issue.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

  • Fix · CNA NGINX JavaScript (F5) Fixed in 1.0.2

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    F5 NGINX JavaScript 1.0.2

    2 records Highest priority Priority LOW 2 LOW

    Other records, highest priority first

    • TI-2026-74066 NGINX JavaScript (njs) memory leak in xml.parse() failure pathPriority LOW 36

Timeline

  1. 2026-10-14 Threatist record created from CVE-2026-101019
  2. 2026-10-14 Alias added: GHSA-fvf3-54p5-jg2m
  3. 2026-10-16 CISA SSVC decision points changed
  4. 2026-10-16 Priority changed: MEDIUM → LOW

References

  • TI-2023-25230 BIG-IP Configuration utility unauthenticated remote code execution vulnerability KEVCVSS 3.1CRITICAL 9.8
  • TI-2022-01269 Missing authentication in F5 BIG-IP KEVCVSS 3.1CRITICAL 9.8
  • TI-2021-05850 Memory corruption in BIG-IP KEVCVSS 3.1CRITICAL 9.8
  • TI-2021-05845 Server-side request forgery in BIG-IP; BIG-IQ KEVCVSS 3.1CRITICAL 9.8
  • TI-2020-04820 Path traversal in BIG-IP KEVCVSS 3.1CRITICAL 9.8
  • TI-2014-05975 GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed… KEVCVSS 3.1CRITICAL 9.8
See all 1057 →

Sources