<?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://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-11-13T19:29:00.343581+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" 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://db.gcve.eu/vuln/ghsa-jv6m-48w5-5rpr</id>
    <title>GHSA-jv6m-48w5-5rpr — envd: Host file disclosure through requirements path traversal and TOCTOU</title>
    <updated>2026-11-13T19:29:00.345850+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: envd</p>
<p>### Summary</p>
<p>envd’s `install.python_packages(requirements=...)` could read files outside the build context on the host. Content interpreted as dependency entries could appear in build logs and build-step metadata.</p>
<p>Commit f576c92, released in v1.3.5, added path containment validation but left a time-of-check/time-of-use (TOCTOU) race between symlink resolution and opening the requirements file. Commit 9d575b3 addresses this race by opening requirements files through a directory-rooted filesystem handle.</p>
<p>### Details</p>
<p>envd reads requirements files on the host to determine whether their contents can be embedded directly into a pip installation build step.</p>
<p>The vulnerable host-side requirements read was introduced in v0.3.38. Version v1.3.5 added containment checks for static path escapes but remained vulnerable to a TOCTOU race. The complete fix is included in v1.3.6.</p>
<p>Before f576c92, this host read lacked a build-context containment check. That commit added frontend path validation and a compile-time check using filepath.EvalSymlinks followed by a containment comparison.</p>
<p>However, symlink resolution returns a pathname rather than a pinned filesystem object. The subsequent os.Open independently resolves that pathname. Concurrent filesystem changes could therefore invalidate the containment check before the file was opened.</p>
<p>The complete fix uses os.OpenRoot and Root.Open to enforce containment during filesystem traversal.</p>
<p>Resources:
- first commit: be783264fdd79ad7262cea0485b…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-jv6m-48w5-5rpr"/>
  </entry>
</feed>
