High priorityDisclosed

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
ELI5

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.

SIMPLIFIED_ATTACK_PATH03 STEPS
  1. 01Attacker edits own AuthenticationFilter

    A namespaced authenticated user sets a crafted realm value on their AuthenticationFilter.

  2. 02Value rendered verbatim

    Gateway Fabric writes the realm into the shared data-plane nginx.conf without escaping or validation.

  3. 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

  1. Inventory every NGINX Gateway Fabric deployment, including test, training, and individually managed instances.
  2. Apply the vendor fix or upgrade exactly as directed in the linked vendor bulletin or advisory.
  3. Restrict network access to NGINX Gateway Fabric while remediation is underway, especially for internet-facing instances.
  4. Review application and server logs for AuthenticationFilter realm values containing quotes, braces, or NGINX directive syntax, and unexpected directives in rendered gateway configuration.
  5. Check for accounts, content, or configuration created outside normal change processes, and rotate exposed credentials where access cannot be ruled out.
  6. 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.