Skip to main content

NGINX JavaScript CVE-2026-18329

| EUVDEUVD-2026-70138 HIGH
Not Failing Securely ('Failing Open') (CWE-636)
2026-09-02 f5 GHSA-jm9r-m8jm-j2hr
8.8
CVSS 4.0 · Vendor: f5
View

Attack ChainAIDerived

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

  1. Access
    Send crafted HTTP request to js_access-protected endpoint
  2. Delivery
    Trigger JavaScript exception in async body processing
  3. Exploit
    Handler exits without issuing explicit access denial
  4. Execution
    NGINX access phase fails open
  5. Persist
    Request forwarded to protected backend
  6. Impact
    Unauthorized resource access achieved

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Fail-secure design
Exploitation Conditions

Exploitation requires the target NGINX instance to be configured with a js_access directive whose handler (1) performs asynchronous request-body reading (using async/await or callback-based body processing) and (2) lacks a try/catch block that explicitly issues an access denial on exception. NGINX instances not using js_access, or those using only synchronous js_access handlers, or those whose async handlers always issue an explicit deny in all code paths, are not affected. The CVSS PR:N/UI:N confirms no attacker authentication or user interaction is needed, but the non-default async handler configuration is the critical deployment prerequisite. The F5 advisory explicitly states there is no control-plane exposure - only the data plane (incoming HTTP requests through the configured js_access path) is reachable.

Impact

F5's CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N) scores 8.8 and reflects that no authentication or user interaction is required from the attacker. However, AC:L likely overstates ease of exploitation: the vulnerable code path requires a deliberate, non-default NGINX configuration using async js_access handlers that lack exception-safe denial logic - a pattern that reduces the exposed population considerably. VC:H accurately captures unauthorized access to confidential protected resources; VI:L reflects the limited integrity bypass (bypassing access controls rather than modifying data). No EPSS data was provided. KEV status is not confirmed. No public POC is identified. F5 explicitly scopes this as a data-plane-only issue with no control-plane exposure, which limits blast radius further. Real-world priority is moderate-to-high for NGINX deployments actively using async js_access scripting for security enforcement; low risk for standard NGINX configurations not using njs access scripting.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted HTTP request - such as one with a malformed or deliberately oversized body - to an NGINX endpoint guarded by an async js_access handler. The malformed input triggers a JavaScript exception during body evaluation before the handler issues an explicit deny, causing the access phase to fail open and forwarding the request to the protected backend. No public POC exists at time of analysis, but the mechanism is straightforward to reproduce against any vulnerable async js_access configuration.

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

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

Alert me

AnalysisAIv1 – Sep 02, 2026

NGINX JavaScript (njs) and QuickJS (qjs) fail open during the js_access phase when an exception is thrown inside an asynchronous request-body processing handler before an explicit access-denial is returned. The flaw (CWE-636, Not Failing Securely) allows unauthenticated remote attackers to bypass js_access controls entirely and reach protected backend resources. No public exploit code or CISA KEV listing has been identified at time of analysis; exploitation is bounded by the requirement for a specific async access-handler pattern.

RemediationAI

Consult F5 advisory K000162599 (https://my.f5.com/manage/s/article/K000162599) for the specific patched njs version - an exact fix version is not independently confirmed from available metadata. As an immediate compensating control, audit all js_access handlers that perform asynchronous request-body processing and wrap async logic in explicit try/catch blocks that call ngx.HTTP_FORBIDDEN (or equivalent denial) in the catch branch, ensuring the handler never exits without an explicit access decision. Alternatively, refactor async js_access handlers to synchronous logic where feasible. For critical deployments, layering upstream network-level ACLs or WAF rules to restrict access to js_access-protected endpoints reduces exposure until the patched njs version is installed.

Affected VersionsENISA

NGINX JavaScript 0.9.9 <*
NGINX JavaScript 1.0.0 <1.0.1

Affected Packages

euvd nginx_javascript fix: 1.0.1

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

NGINX JavaScript (njs) is F5's embedded JS engine for NGINX, allowing scripting of HTTP processing phases via directives such as js_access, which acts as a custom access-control gate. QuickJS (qjs) is an alternative lightweight JavaScript engine also supported in this context. CWE-636 (Not Failing Securely) describes the root cause: when exceptional conditions arise during access evaluation, a secure implementation must default to denial; this implementation instead defaults to permitting the request. The flaw manifests specifically when (1) the js_access handler reads the request body asynchronously (async/await or callback model) and (2) a JavaScript exception is thrown during that evaluation before any explicit ngx.HTTP_FORBIDDEN or equivalent denial is issued - causing the NGINX access phase to treat the missing denial as implicit approval. CPE cpe:2.3:a:f5:nginx_javascript:*:*:*:*:*:*:*:* covers all njs versions without a narrowed range in available metadata.

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.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Requires non-default async js_access handler without exception-safe denial (AC:H); no authentication needed (PR:N); confidentiality high from unauthorized resource access, integrity low from access-control bypass only.

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

Primary rating from Vendor (f5).

CVSS VectorVendor: f5

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
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

3
Patch available
Sep 02, 2026 - 17:02 EUVD
CVSS changed
Sep 02, 2026 - 16:22 NVD
8.2 (HIGH) 8.8 (HIGH)
CVE Published
Sep 02, 2026 - 15:40 cve.org
HIGH 8.8

DescriptionCVE.org

Description

NGINX JavaScript (njs) and QuickJS (qjs) engines have a vulnerability when a js_access handler performs asynchronous request body processing and an exception is thrown during asynchronous access-control evaluation before an explicit access denial is returned. An unauthenticated attacker can exploit this vulnerability by sending a crafted HTTP request that triggers an error condition in the access validation logic. This may cause the js_access phase to fail open, allowing the request to proceed instead of being denied, resulting in an authentication or authorization bypass and unauthorized access to protected resources.

Impact

This vulnerability may allow remote attackers to bypass js_access controls. 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

NGINX JavaScript and QuickJS runtimes contain an access-control bypass vulnerability (CVSS 8.8) allowing unauthenticated attackers to reach protected backend resources when exceptions occur in async request-body handlers. Organizations using njs/qjs for authentication or authorization face immediate risk of unauthorized access to protected services if their configuration patterns match the vulnerable profile.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Refactor js_access handlers to synchronous request processing where feasible; (2) Implement comprehensive exception handling in async handlers with explicit access denial defaults before any body processing; (3) Isolate backend services via network segmentation and require layered authentication independent of js_access rules; (4) Deploy WAF rules to block or rate-limit requests targeting js_access phases. Continue monitoring NGINX and QuickJS for patch release announcements.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Medium
Advanced NGINX scripting feature, subset of NGINX deployments
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor VulDB

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.4%
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
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Module for Server Applications 15 SP7 Not-Affected
SUSE Linux Enterprise Server 15 SP7 Not-Affected
SUSE Linux Enterprise Server 16.0 Not-Affected
SUSE Linux Enterprise Server 16.1 Not-Affected
SUSE Linux Enterprise Server for SAP Applications 15 SP7 Not-Affected

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