<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-28T07:01:32.756537+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-wcrf-9vrr-854f</id>
    <title>GHSA-wcrf-9vrr-854f — Envoy Gateway: Authentication Bypass via Improper Input Validation in EnvoyExtensionPolicy Lua Allows Secret Disclosure</title>
    <updated>2026-09-28T07:01:33.249151+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: github.com/envoyproxy/gateway</p>
<p>### Impact</p>
<p>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/`.</p>
<p>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:</p>
<p>* `/etc/passwd`
* Kubernetes SA tokens via `//var/run/secrets/kubernetes.io/serviceaccount/token`
* TLS certificates via `//certs/...`
* Process environment via `//proc/self/environ`</p>
<p>These credentials can be used to read sensitive information from the K8s API Server or from the Gateway XDS server.</p>
<p>### Patches</p>
<p>This has been patched in versions &gt;= v1.7.4 and v1.8.1</p>
<p>- 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/.`).</p>
<p>### Workarounds
Please refer to the `Warning` section in [Lua docs](https://gateway.envoyproxy.io/v1.8/tasks/extensibility/lua/) for measures to reduce risk.</p>
<p>### Credits</p>
<p>Envoy Gateway thanks @dashingDragon and @Donjon-Cerberus for reporting this issue.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-wcrf-9vrr-854f"/>
  </entry>
</feed>
