Skip to content
Threat Feed
high advisory

Authentication Bypass in NGINX JavaScript and QuickJS Engines

An authentication bypass flaw in NGINX JavaScript (njs) and QuickJS (qjs) engines allows unauthenticated attackers to trigger a fail-open state in access control logic, potentially granting unauthorized access to protected resources.

CVE search metadata

CVE search record: CVE-2026-18329. Severity: high. CVSS: 8.2. KEV: no. Product: NGINX JavaScript, QuickJS. Brief: Authentication Bypass in NGINX JavaScript and QuickJS Engines. Brief link: https://feed.craftedsignal.io/briefs/2026-09-nginx-auth-bypass/

The NGINX JavaScript (njs) and QuickJS (qjs) engines contain a vulnerability involving the js_access handler during asynchronous request body processing. When an exception occurs during the asynchronous access-control evaluation phase - specifically before the handler can return an explicit access denial - the engine may fail open. This misconfiguration in the access validation logic permits the request to proceed to downstream resources despite failing security checks.

An unauthenticated remote attacker can exploit this condition by sending a crafted HTTP request designed to trigger an error within the access-control JavaScript logic. This results in an authorization bypass, potentially allowing access to protected endpoints that should have been restricted. This vulnerability exists within the data plane, impacting any application relying on the njs or qjs access control handlers for security enforcement.

Impact

Successful exploitation allows unauthenticated remote attackers to bypass security controls defined within the js_access handler. This can result in unauthorized access to sensitive application data or protected administrative functions. As this is a data plane issue affecting request processing, it does not involve exposure of the server control plane but directly undermines the security posture of the web application.

Recommendation

  • Identify all instances of NGINX utilizing the js_access handler for security controls.
  • Audit JavaScript access control logic to ensure that error conditions do not result in a default-allow state.
  • Monitor web server error logs for unexpected exceptions occurring within JavaScript access handlers, which may indicate exploitation attempts.
  • Apply patches provided by the software vendor once available for NGINX and affected distributions.

Immediate actions

Review NGINX configurations for use of the js_access handler

SOC 48h

Threat Hunt

Analyze web server logs for high frequencies of 500-series errors originating from js_access handler modules

T1190 medium medium confidence hunt now

Data: webserver_logs

Mitigations

Review and harden JavaScript access control logic to ensure failures result in access denial rather than success

immediate IT Operations

CVE-2026-18329