Skip to main content

NGINX Gateway Fabric EUVDEUVD-2026-101116

| CVE-2026-91184 HIGH
Improper Neutralization of Equivalent Special Elements (CWE-76)
2026-10-14 f5 GHSA-8rxj-rxx8-xj47
8.7
CVSS 4.0 · Vendor: f5
View

Attack ChainAIDerived

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

  1. Access
    Obtain namespaced RBAC on shared Gateway
  2. Delivery
    Create AuthenticationFilter CRD with malicious realm
  3. Exploit
    Attach filter to HTTPRoute/GRPCRoute
  4. Execution
    Controller renders unescaped realm, breaking out of location block
  5. Persist
    Injected directives execute in shared data-plane config
  6. Impact
    Read co-tenant secrets, SA token, or SSRF/route hijack

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Special element neutralization
Exploitation Conditions

Requires a MULTI-TENANT deployment where one NGINX Gateway Fabric data plane / Gateway is shared across namespaces, AND an attacker holding namespaced RBAC permissions to create an AuthenticationFilter CRD and attach it (via spec.basic.realm or spec.jwt.realm) to an HTTPRoute or GRPCRoute bound to that shared Gateway. The injectable surface is specifically the realm field rendered verbatim into auth_basic "<realm>";. Limiting factors: exploitation is impossible without valid authenticated namespaced credentials/RBAC (PR:L); single-tenant or per-tenant-dedicated Gateway deployments do not expose cross-tenant impact; the issue is control-plane only with no data-plane exposure; and End-of-Technical-Support versions are explicitly not evaluated. No end-user interaction (UI:N) is needed.

Impact

This is a credible, above-average-priority control-plane vulnerability in multi-tenant deployments, but not an emergency for most operators. The F5-provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, VC:H/VI:H/VA:H) scores 8.7 (High) and is internally consistent with the description: a network-reachable Kubernetes control-plane operation, low complexity, and low-but-nonzero privileges (PR:L - the attacker must already hold namespaced credentials able to create/attach AuthenticationFilter CRDs). CWE-76 (improper neutralization of equivalent special elements) accurately captures the quote/brace-breakout config injection into the shared nginx.conf. No EPSS score was provided, this CVE is NOT in CISA KEV, and no public POC was supplied - so exploitation status is 'no public exploit identified at time of analysis'. The gap between a high CVSS and the absence of any exploitation signal suggests this is a serious-but-not-yet-weaponized issue whose real risk is tightly bounded by deployment model: it only matters where a single shared Gateway serves multiple untrusted tenants, which the description itself frames as a control-plane-only (no data-plane exposure) tenant-isolation break. Note one tension worth verifying with the vendor: the 4.0 vector sets subsequent-system impact to N (SC:N/SI:N/SA:N), yet the described impact (reading OTHER tenants' secrets, hijacking OTHER tenants' routes, stealing the pod ServiceAccount token) is precisely a cross-tenant/cross-authority effect that a scope-aware reading would elevate.

Exploit ScenarioDerived

A tenant with namespaced RBAC rights on a cluster whose NGINX Gateway Fabric data plane is shared across tenants creates an AuthenticationFilter CRD and attaches it to an HTTPRoute (or GRPCRoute) on the shared Gateway. They set spec.basic.realm (or spec.jwt.realm) to a value that closes the auth_basic "..."; directive and the enclosing location {} block, then appends attacker-chosen NGINX directives (e.g. a proxy_pass for SSRF, or a block mounting/reading co-tenant secrets and the ServiceAccount token). No public exploit code is known, and AC:L/PR:L mean the attack is technically simple once the attacker holds valid namespaced credentials on a shared Gateway.

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

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

Alert me

AnalysisAIv2 – Oct 14, 2026

Directive injection in NGINX Gateway Fabric lets an authenticated namespaced tenant escape the auth_basic "<realm>"; quoting rendered into a shared data-plane nginx.conf and inject arbitrary NGINX directives. Exploitation requires a multi-tenant deployment in which several namespaces share one Gateway/data plane, plus namespaced RBAC to create an AuthenticationFilter CRD and attach it via spec.basic.realm or spec.jwt.realm to an HTTPRoute or GRPCRoute bound to that Gateway (CVSS vector shows PR:L and UI:N, so valid authenticated credentials are required and no user interaction is needed). The impact is control-plane only, with no data-plane exposure, but a successful attacker could read co-located tenants' mounted secrets, perform SSRF through proxy_pass, read the pod ServiceAccount token, or hijack other tenants' routes; no public exploit code has been identified at time of analysis, and the issue is not confirmed actively exploited (CISA KEV).

Earlier versions of this analysis (1)
v1 Oct 14, 2026 - 15:14 CVSS 8.8

Configuration injection in NGINX Gateway Fabric allows an authenticated Kubernetes user with permission to create AuthenticationFilter custom resources to escape the quoted auth_basic realm directive and inject arbitrary NGINX directives into a shared Gateway's data-plane nginx.conf, potentially enabling cross-tenant secret readout, SSRF via proxy_pass, ServiceAccount token theft, or route hijacking. All versions are affected (CPE wildcard); exploitation requires RBAC to create the CRD, attachment to an HTTPRoute/GRPCRoute, and a shared multi-tenant Gateway-deployments with dedicated Gateways are not exposed, and there is no unauthenticated data-plane trigger. No public exploit identified at time of analysis.

RemediationAI

Apply the fix from F5's advisory K000162609 (https://my.f5.com/manage/s/article/K000162609); an exact patched version is not identified in the available data, so confirm the specific fixed release and upgrade NGINX Gateway Fabric in that advisory before redeploying. If an immediate upgrade is not possible, the highest-value compensating control is architectural: stop sharing a single Gateway/data plane across tenants and give each tenant its own Gateway instance, which removes the cross-tenant blast radius entirely at the cost of additional controller and data-plane resource consumption. In parallel, tighten RBAC and admission so that only trusted cluster administrators can create or modify AuthenticationFilter resources or attach them to routes on a shared Gateway - enforcing this with OPA Gatekeeper or Kyverno policies that deny AuthenticationFilter objects from untrusted namespaces, or that validate spec.basic.realm and spec.jwt.realm against a strict allowlist pattern rejecting quotes, braces, semicolons, and newlines. Note the trade-off that such admission rules break tenant self-service for authentication configuration. As detection, monitor generated nginx.conf for unexpected directives outside the expected auth_basic/auth_jwt blocks and audit AuthenticationFilter create/update events, especially across namespaces. End-of-Technical-Support releases are not evaluated by the vendor, so plan migration to a supported version rather than relying on an EoTS backport.

Affected VersionsENISA

NGINX Gateway Fabric 2.4.0 <2.8.0

Affected Packages

euvd nginx_gateway_fabric fix: 2.8.0

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 Gateway Fabric is F5's Kubernetes Gateway API implementation: a Go control plane watches Gateway API resources (Gateway, HTTPRoute, GRPCRoute) plus its own AuthenticationFilter CRD and translates them into nginx.conf for the shared NGINX data plane. The flaw is a CWE-76 improper-neutralization-of-equivalent-special-elements defect: the spec.basic.realm and spec.jwt.realm values are written verbatim, unescaped and unvalidated, into the directive auth_basic "<realm>"; inside a location {} block. Because the realm is not escaped, a crafted value can close the double quote and the enclosing brace, terminating the intended directive/block and appending attacker-chosen NGINX directives to the generated configuration of the shared Gateway. The root cause is therefore upstream of NGINX itself - the template/concat logic in theGateway Fabric control plane rather than a flaw in the NGINX runtime - and the CPE cpe:2.3:a:f5:nginx_gateway_fabric:*:*:*:*:*:*:*:* indicates the whole product line is affected, with End-of-Technical-Support versions explicitly not evaluated. The multi-tenant requirement is inherent: the injected directives land in a configuration shared by every namespace whose routes are attached to the same Gateway, which is what enables cross-tenant secret reads, proxy_pass-based SSRF, ServiceAccount token theft, and route hijacking.

Know when Nginx Gateway Fabric 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.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 9.9 CRITICAL

Network-reachable control-plane API (AV:N), low complexity (AC:L), requires namespaced RBAC so PR:L; S:C because the injection crosses tenant/authority boundaries to other tenants' secrets, tokens, and routes.

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

Primary rating from Vendor (f5).

CVSS VectorVendor: f5

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

Lifecycle Timeline

3
Patch available
Oct 14, 2026 - 16:03 EUVD
CVSS changed
Oct 14, 2026 - 15:22 NVD
8.8 (HIGH) 8.7 (HIGH)
CVE Published
Oct 14, 2026 - 14:40 cve.org
HIGH 8.8

DescriptionCVE.org

Description

NGINX Gateway Fabric has a vulnerability when it renders the spec.basic.realm (and spec.jwt.realm) field of a namespaced AuthenticationFilter verbatim, unescaped and unvalidated, into the shared data-plane nginx.conf as auth_basic "<realm>";. A namespaced authenticated attacker that configures AuthenticationFilter CRD to an HTTPRoute/GRPCRoute on a shared Gateway can craft a realm value that closes the quoted directive and the enclosing location {} block and injects arbitrary NGINX directives into that Gateway's data-plane config.

Impact

A remote authenticated attacker can send crafted requests to configure NGINX Gateway Fabric AuthenticationFilter CRD and may be able to read every co-located tenant's mounted secrets, SSRF via proxy_pass, reading the pod ServiceAccount token, or hijacking other tenants' routes. There is no data plane exposure; this is a control plane issue only.

Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.

Executive ViewAI

Why It Matters

NGINX Gateway Fabric (CVE-2026-91184, CVSS 8.7) creates a cross-tenant isolation risk in multi-tenant deployments where several namespaces share one Gateway/data plane, allowing an authenticated namespaced tenant with limited RBAC to inject NGINX directives and compromise control-plane resources. This can expose co-located tenants’ mounted secrets, pod ServiceAccount tokens, and route configurations, enable SSRF through proxy_pass, and allow route hijacking, so security leadership should treat shared NGINX Gateway Fabric environments as high risk until a vendor fix is available. There is no public exploit identified at time of analysis, and no vendor-released patch identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: enforce least-privilege RBAC to prevent namespaced tenants from creating or attaching AuthenticationFilter CRDs to shared Gateways; isolate tenants onto separate Gateways/data planes; use admission policies to validate or disallow dangerous characters in spec.basic.realm and spec.jwt.realm; audit and restrict proxy_pass, secret mounts, and ServiceAccount token access; monitor nginx.conf and Gateway API audit logs for injected directives, route hijacking, SSRF, or cross-tenant secret reads.

Threat Intelligence Overview

EPSS Score
0.5%
Top 60% exploitable
Prevalence
Low
newer niche Kubernetes Gateway API controller, limited multi-tenant production footprint
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.5%
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
Total

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

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

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