{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-91184","assignerOrgId":"9dacffd4-cb11-413f-8451-fbbfd4ddc0ab","state":"PUBLISHED","assignerShortName":"f5","dateReserved":"2026-09-30T21:56:14.612Z","datePublished":"2026-10-14T14:40:27.849Z","dateUpdated":"2026-10-15T10:31:15.425Z"},"containers":{"cna":{"affected":[{"defaultStatus":"unknown","modules":["NGF"],"product":"NGINX Gateway Fabric","vendor":"F5","versions":[{"lessThan":"2.8.0","status":"affected","version":"2.4.0","versionType":"custom"}]}],"credits":[{"lang":"en","type":"reporter","value":"F5 acknowledges apvxlab (AppViewX security research) for bringing this issue to our attention and following the highest standards of coordinated disclosure."}],"datePublic":"2023-01-01T00:00:00.000Z","descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Description<br><br>NGINX Gateway Fabric&nbsp;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 \"&lt;realm&gt;\";. 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.&nbsp;<br><br>Impact<br><br>A remote authenticated attacker can send crafted requests to configure NGINX Gateway Fabric&nbsp;AuthenticationFilter CRD and&nbsp;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.&nbsp;<span style=\"background-color: rgb(255, 255, 255);\">There is no data plane exposure; this is a control plane issue only.</span>\n\n<br><br>\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."}],"value":"Description\n\nNGINX 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. \n\nImpact\n\nA 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.\n\n\n\n\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."}],"impacts":[{"capecId":"CAPEC-3","descriptions":[{"lang":"en","value":"CAPEC-3 Using Leading 'Ghost' Character Sequences to Bypass Input Filters"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.8,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]},{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"NONE","attackVector":"NETWORK","baseScore":8.7,"baseSeverity":"HIGH","privilegesRequired":"LOW","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"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","version":"4.0","vulnAvailabilityImpact":"HIGH","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-76","description":"CWE-76","lang":"en","type":"CWE"}]}],"providerMetadata":{"orgId":"9dacffd4-cb11-413f-8451-fbbfd4ddc0ab","shortName":"f5","dateUpdated":"2026-10-14T14:40:27.849Z"},"references":[{"tags":["vendor-advisory"],"url":"https://my.f5.com/manage/s/article/K000162609"}],"source":{"discovery":"EXTERNAL"},"title":"NGINX Gateway Fabric vulnerability","workarounds":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"<span style=\"background-color: rgb(255, 255, 255);\">\n\n<div><p>As this attack is conducted by authenticated users with Kubernetes Role-based Access Control (RBAC) write access to AuthenticationFilter&nbsp;<span style=\"background-color: rgb(255, 255, 255);\">CRD</span>&nbsp;and Secrets, the only complete mitigation is to restrict that access to fully trusted administrators only.</p></div></span>"}],"value":"As this attack is conducted by authenticated users with Kubernetes Role-based Access Control (RBAC) write access to AuthenticationFilter CRD and Secrets, the only complete mitigation is to restrict that access to fully trusted administrators only."}],"x_generator":{"engine":"F5 SIRTBot v1.0"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-91184","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-15T03:57:02.149250Z"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-10-15T10:31:15.425Z"}}]}}