Advisory · CVE-2026-91184
AuthenticationFilter realm injection in NGINX Gateway Fabric can expose co-tenant secrets
NGINX Gateway Fabric renders the realm fields of a namespaced AuthenticationFilter verbatim into the shared data-plane nginx.conf, so a namespaced authenticated attacker can craft a realm value that injects arbitrary NGINX directives into that Gateway's data-plane config, potentially reading co-located tenants' mounted secrets, SSRF via proxy_pass, the pod ServiceAccount token, or hijacking other tenants' routes. F5 rates it CVSS 3.1 8.8, affecting 2.4.0 before 2.8.0.
- Vendor
- F5
- Product
- NGINX Gateway Fabric
- Identifier / CWE
- CVE-2026-91184
CWE-76 - Action timing
- Immediate
Explain it like I’m five
One tenant writes a label on an auth prompt, and the label escapes its quotes and rewrites the shared gateway's config.
- 01Attacker edits own AuthenticationFilter
A namespaced authenticated user sets a crafted realm value on their AuthenticationFilter.
- 02Value rendered verbatim
Gateway Fabric writes the realm into the shared data-plane nginx.conf without escaping or validation.
- 03Directives injected
The injected NGINX directives can read co-tenant secrets, proxy internally, or hijack routes.
What happened
F5 disclosed CVE-2026-91184 for NGINX Gateway Fabric: the spec.basic.realm and spec.jwt.realm fields of a namespaced AuthenticationFilter are rendered verbatim, unescaped and unvalidated, into the shared data-plane nginx.conf as an auth_basic directive. A namespaced authenticated attacker configuring an AuthenticationFilter on an HTTPRoute or GRPCRoute attached to a shared Gateway can close the quoted directive and the enclosing location block and inject arbitrary NGINX directives. F5 describes the possible impact as reading every co-located tenant’s mounted secrets, SSRF via proxy_pass, reading the pod ServiceAccount token, or hijacking other tenants’ routes, and notes this is a control plane issue only.
F5’s K000162609 lists the affected versions and the fixed builds. Match your deployment to the article before changing anything.
What to do
- Inventory every NGINX Gateway Fabric deployment, including test, training, and individually managed instances.
- Apply the vendor fix or upgrade exactly as directed in the linked vendor bulletin or advisory.
- Restrict network access to NGINX Gateway Fabric while remediation is underway, especially for internet-facing instances.
- Review application and server logs for AuthenticationFilter realm values containing quotes, braces, or NGINX directive syntax, and unexpected directives in rendered gateway configuration.
- Check for accounts, content, or configuration created outside normal change processes, and rotate exposed credentials where access cannot be ruled out.
- Verify the deployed version or patch level after remediation.
Management note
Multi-tenant gateways turn one tenant’s config into everyone’s risk. Patch Gateway Fabric and audit realm fields that are already stored.