GHSA-wcrf-9vrr-854f

Suggest an improvement
Source
https://github.com/advisories/GHSA-wcrf-9vrr-854f
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/07/GHSA-wcrf-9vrr-854f/GHSA-wcrf-9vrr-854f.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-wcrf-9vrr-854f
Aliases
Downstream
Published
2026-07-16T19:23:38Z
Modified
2026-09-21T09:40:42Z
Severity
  • 9.1 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L CVSS Calculator
Summary
Envoy Gateway: Authentication Bypass via Improper Input Validation in EnvoyExtensionPolicy Lua Allows Secret Disclosure
Details

Impact

The to_absolute_normalized_path function (security.lua:28-43) does not collapse redundant path separators (// → /). On Linux, //etc/passwd is equivalent to /etc/passwd (POSIX path semantics), but is_critical_path fails to match the double-slash variant because //etc/passwd does not start with /etc/.

This allows Lua code submitted as an EnvoyExtensionPolicy to read arbitrary files from the gateway controller pod's filesystem during Strict validation (the default), including:

  • /etc/passwd
  • Kubernetes SA tokens via //var/run/secrets/kubernetes.io/serviceaccount/token
  • TLS certificates via //certs/...
  • Process environment via //proc/self/environ

These credentials can be used to read sensitive information from the K8s API Server or from the Gateway XDS server.

Patches

This has been patched in versions >= v1.7.4 and v1.8.1

  • Collapse redundant path separators (// to /) so double-slash variants like //etc/passwd and //var/run/secrets/... are matched by the critical-path check.
  • Rewrite the traversal check to reject any . or .. segment in any position and across both separator styles (catches /etc/./passwd, ./etc/passwd, /etc/.).

Workarounds

Please refer to the Warning section in Lua docs for measures to reduce risk.

Credits

Envoy Gateway thanks @dashingDragon and @Donjon-Cerberus for reporting this issue.

Database specific
{
    "cwe_ids": [
        "CWE-20"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-07-16T19:23:38Z",
    "nvd_published_at": null,
    "severity": "CRITICAL"
}
References

Affected packages

Go / github.com/envoyproxy/gateway

Package

Name
github.com/envoyproxy/gateway
View open source insights on deps.dev
Purl
pkg:golang/github.com/envoyproxy/gateway

Affected ranges

Type
SEMVER
Events
Introduced
1.8.0-rc.0
Fixed
1.8.1

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/07/GHSA-wcrf-9vrr-854f/GHSA-wcrf-9vrr-854f.json"

Go / github.com/envoyproxy/gateway

Package

Name
github.com/envoyproxy/gateway
View open source insights on deps.dev
Purl
pkg:golang/github.com/envoyproxy/gateway

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
1.7.4

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/07/GHSA-wcrf-9vrr-854f/GHSA-wcrf-9vrr-854f.json"