Skip to main content

NGINX JavaScript (njs) EUVDEUVD-2026-101121

| CVE-2026-101019 HIGH
Interpretation Conflict (CWE-436)
2026-10-14 f5 GHSA-fvf3-54p5-jg2m
8.3
CVSS 4.0 · Vendor: f5
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain genuinely signed SAML document
  2. Delivery
    Inject entity-backed XML attributes
  3. Exploit
    Submit to njs-backed signed-XML consumer
  4. Execution
    Canonicalization hides security attributes while signature validates
  5. Impact
    Replay/accept response bypassing expiry and Destination checks

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service Interpretation consistency
Exploitation Conditions

Exploitation requires the target to be a signed-XML consumer that uses the njs XML module (either the built-in njs backend or the QuickJS backend) during canonicalization - nginx-saml running the built-in njs backend is the confirmed affected deployment. The attacker must first obtain a genuinely signed XML/SAML document, which the description explicitly calls out as requiring significant effort (reflected as AT:P in the CVSS 4.0 vector). Key limiting factors: the flaw cannot forge signatures or identities and cannot produce a new validly signed document, so the attacker is confined to manipulating attribute visibility on an already-signed artifact; impact is data-plane only with no control-plane exposure and no availability impact; and non-njs or non-signed-XML nginx deployments are unaffected. End-of-Technical-Support versions were not evaluated.

Impact

The vendor-assigned CVSS 4.0 base score is 8.3 (High), driven by AV:N/AC:L/PR:N/UI:N and VC:H. However, the AT:P (Attack Requirements: Present) metric is the decisive moderating signal: successful exploitation requires the attacker to invest significant effort in obtaining a genuinely signed XML document, since the flaw does NOT permit signature or identity forgery. This makes real-world exploitation materially harder than the headline score suggests. There is no EPSS score, no CISA KEV listing, and no public exploit code in the provided data, so exploitation status is 'no public exploit identified at time of analysis' - this is not a drop-everything priority. The impact is bounded: data-plane only, no control-plane exposure, no availability impact (VA:N), and only partial integrity impact (VI:L). The realistic priority is MODERATE-but-credible for the narrow population of signed-XML consumers using njs - specifically nginx-saml with the built-in njs backend, which F5 confirms is affected. One note: the input provides only a CVSS 4.0 vector with no EPSS, KEV, or POC signals, so the dynamic exploitation picture cannot be cross-referenced; the AT:P/signed-document requirement strongly implies targeted rather than widespread/opportunistic exploitation if it ever occurs.

Exploit ScenarioDerived

An unauthenticated attacker who has obtained a genuinely signed SAML response (a non-trivial, effortful prerequisite) submits it to an nginx-saml deployment running the built-in njs backend. Due to inconsistent canonicalization of entity-backed XML attributes, security-relevant attributes appear absent or truncated while libxml2 signature verification still succeeds, letting the attacker bypass expiry, Destination, and request-correlation checks to replay or reuse the response outside its intended context. No public exploit code is identified in the provided data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 14, 2026

Canonicalization inconsistency in the NGINX JavaScript (njs) XML module lets an unauthenticated attacker who already holds a genuinely signed SAML/XML document cause entity-backed attributes to appear absent or truncated ($attr$Name returning undefined, $attrs derived from only the first attribute child) while signature verification still succeeds. nginx-saml running the built-in njs backend is the confirmed affected consumer, where this can bypass expiry, Destination, and request-correlation checks and enable replay or acceptance of a response outside its intended context; the flaw cannot forge signatures or identities and has no availability or control-plane impact. F5's advisory rates this 8.3 (High, CVSS 4.0 with AT:P reflecting the significant effort needed to obtain a validly signed document); no public exploit code was identified at time of analysis, and no KEV listing applies. There is no public exploit identified at time of analysis.

RemediationAI

No vendor-released patch was identified at time of analysis; monitor F5 advisory K000162615 (https://my.f5.com/manage/s/article/K000162615) for updated njs builds and apply them when published, and treat EoTS njs versions as unsupported. Because both the built-in njs and QuickJS backends exhibit the same canonicalization defect, switching backends is not a reliable mitigation. Practical compensating controls, with their trade-offs, are: reject or strip internal entity references in attribute values before canonicalization in the SAML/XML pipeline (trade-off: may reject legitimate documents that intentionally use entities); re-validate SAML attributes such as NotOnOrAfter, Destination, InResponseTo, and Audience using out-of-band expectations rather than the parsed document values (trade-off: extra application logic and possible false rejections); enforce single-use tracking of Assertion IDs to blunt replay (trade-off: shared state at scale); and if the njs XML module is not required for SAML processing, remove or disable it from the affected nginx deployment (trade-off: loss of that functionality). Do not rely on signature verification alone, because it can succeed while the downstream njs attribute view is wrong.

Affected VersionsENISA

NGINX JavaScript 0.7.10 <1.0.2

Affected Packages

euvd nginx_javascript fix: 1.0.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The issue is a CWE-436 interpretation conflict between the njs XML module and libxml2 canonicalization. When XML attributes contain internal entity references, njs's canonicalization path (in both the built-in njs and QuickJS backends) produces a view inconsistent with libxml2: the $attr$Name getter can return undefined for an attribute that is explicitly present, and $attrs can return a value derived only from the first attribute child. Because XML-DSig verification operates over the canonicalized form while the SAML consumer reads attributes through these getters, the two views can desynchronize, so security-relevant attributes effectively disappear after a successful signature check. The affected component is identified by CPE cpe:2.3:a:f5:nginx_javascript:*:*:*:*:*:*:*:* (F5 njs). This is a data-plane-only defect: there is no control-plane exposure, no availability impact, and no signature or identity forgery - the attacker is confined to manipulating attribute visibility on an already-signed artifact.

Know when Nginx Javascript gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (f5) PRIMARY 8.3 MEDIUM
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
vuln.today AI 6.5 MEDIUM

Network-reachable and unauthenticated (AV:N/PR:N), but AC:H because the attacker must obtain a genuinely signed document; auth-check bypass yields C:H/I:L with no availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (f5).

CVSS VectorVendor: f5

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

4
Patch available
Oct 14, 2026 - 16:03 EUVD
Severity Changed
Oct 14, 2026 - 15:22 NVD
MEDIUM HIGH
CVSS changed
Oct 14, 2026 - 15:22 NVD
6.5 (MEDIUM) 8.3 (HIGH)
CVE Published
Oct 14, 2026 - 14:40 cve.org
HIGH 8.3

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

A high-severity canonicalization defect in the NGINX JavaScript (njs) XML module weakens the attribute-level integrity checks that nginx-saml's built-in njs backend depends on when validating SAML single sign-on assertions. Organizations running that configuration could have a legitimately signed assertion accepted or replayed outside its intended context, degrading SSO assurance for every user whose identity flow passes through the affected service. Because the flaw cannot forge signatures or identities and no vendor patch is yet available, leadership should treat this as a managed-risk item requiring interim detection and containment rather than an emergency code fix.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: validate Destination, InResponseTo, expiry, and audience at the application layer outside the njs XML parser; cache and reject replayed assertion IDs; shorten assertion validity windows and tighten clock-skew tolerance; treat $attr$/$attrs-derived values as untrusted when they appear absent or truncated; alert on duplicate assertion IDs and out-of-context responses; and consider migrating to a SAML implementation that does not use the njs XML module as the parsing backend.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Medium
njs ships with nginx but XML/SAML signed-document consumers are a limited subset
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy