Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted HTTP request to js_access-protected endpoint
-
DeliveryTrigger JavaScript exception in async body processing
-
ExploitHandler exits without issuing explicit access denial
-
ExecutionNGINX access phase fails open
-
PersistRequest forwarded to protected backend
-
ImpactUnauthorized 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
Primary rating from Vendor (f5).
CVSS VectorVendor: f5
Lifecycle Timeline
3DescriptionCVE.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.
Articles & Coverage 1
Executive ViewAI
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Nginx Javascript
View allHeap out-of-bounds write in NGINX JavaScript (njs) xml.exclusiveC14n() allows unauthenticated remote attackers to crash
Heap buffer overflow in F5 NGINX JavaScript (njs) module versions 0.9.4 through 0.9.8 allows unauthenticated remote atta
NULL pointer dereference in NGINX JavaScript (njs) crashes NGINX worker processes when an njs script calls ngx.fetch() a
Canonicalization inconsistency in the NGINX JavaScript (njs) XML module lets an unauthenticated attacker who already hol
Malformed XML parsed through NGINX JavaScript (njs) xml.parse() leaks libxml2 parser contexts, allowing unauthenticated
Same weakness CWE-636 – Not Failing Securely ('Failing Open')
View allSame technique Authentication Bypass
View allVendor 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 |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Not-Affected |
| openSUSE Leap 16.0 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE CaaS Platform 4.0 | Not-Affected |
| SUSE Enterprise Storage 6 | Not-Affected |
| SUSE Enterprise Storage 7 | Not-Affected |
| SUSE Enterprise Storage 7.1 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Not-Affected |
| SUSE Manager Proxy 4.0 | Not-Affected |
| SUSE Manager Proxy 4.1 | Not-Affected |
| SUSE Manager Proxy 4.2 | Not-Affected |
| SUSE Manager Proxy 4.3 | Not-Affected |
| SUSE Manager Proxy LTS 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server 4.0 | Not-Affected |
| SUSE Manager Retail Branch Server 4.1 | Not-Affected |
| SUSE Manager Retail Branch Server 4.2 | Not-Affected |
| SUSE Manager Retail Branch Server 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Not-Affected |
| SUSE Manager Server 4.0 | Not-Affected |
| SUSE Manager Server 4.1 | Not-Affected |
| SUSE Manager Server 4.2 | Not-Affected |
| SUSE Manager Server 4.3 | Not-Affected |
| SUSE Manager Server LTS 4.3 | Not-Affected |
| openSUSE Leap 15.3 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.6 | Not-Affected |
| private-registry/1.2/harbor-portal private-registry/harbor-nginx private-registry/harbor-portal suse/nginx suse/nginx:1.21 suse/rmt-nginx | Not-Affected |
EUVD-2026-70138
GHSA-jm9r-m8jm-j2hr
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB