<?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://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-02T22:01:42.831408+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" 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://cve.radiocsirt.org/vuln/brew-poetry-cve-2026-34591</id>
    <title>BREW-poetry-CVE-2026-34591 — Poetry Has Wheel Path Traversal Which Can Lead to Arbitrary File Write</title>
    <updated>2026-10-02T22:01:42.833669+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Homebrew: poetry</p>
<p>Poetry is a dependency manager for Python. From version 1.4.0 to before version 2.3.3, a crafted wheel can contain ../ paths that Poetry writes to disk without containment checks, allowing arbitrary file write with the privileges of the Poetry process. It is reachable from untrusted package artifacts during normal install flows. (Normally, installing a malicious wheel is not sufficient for execution of malicious code. Malicious code will only be executed after installation if the malicious package is imported or invoked by the user.). This issue has been patched in version 2.3.3.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/brew-poetry-cve-2026-34591"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cve-2026-34591</id>
    <title>CVE-2026-34591 — Poetry Has Wheel Path Traversal Which Can Lead to Arbitrary File Write</title>
    <updated>2026-10-02T22:01:42.833739+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> python-poetry poetry</p>
<p>Poetry is a dependency manager for Python. From version 1.4.0 to before version 2.3.3, a crafted wheel can contain ../ paths that Poetry writes to disk without containment checks, allowing arbitrary file write with the privileges of the Poetry process. It is reachable from untrusted package artifacts during normal install flows. (Normally, installing a malicious wheel is not sufficient for execution of malicious code. Malicious code will only be executed after installation if the malicious package is imported or invoked by the user.). This issue has been patched in version 2.3.3.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2026-34591"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-2599-h6xx-hpxp</id>
    <title>GHSA-2599-h6xx-hpxp — Poetry Has Wheel Path Traversal Which Can Lead to Arbitrary File Write</title>
    <updated>2026-10-02T22:01:42.833788+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: poetry</p>
<p>### Summary
A crafted wheel can contain ../ paths that Poetry writes to disk without containment checks, allowing arbitrary file write with the privileges of the Poetry process.</p>
<p>### Impact
Arbitrary file write (path traversal) from untrusted wheel content. Impacts users/CI/CD systems installing malicious or compromised packages.</p>
<p>### Patches</p>
<p>Versions 2.3.3 and newer of Poetry resolve the target paths and ensure that they are inside the target directory. Otherwise, installation is aborted.</p>
<p>### Details
Poetry’s wheel destination path is built by directly joining an untrusted wheel entry path:</p>
<p>src/poetry/installation/wheel_installer.py:47
src/poetry/installation/wheel_installer.py:59</p>
<p>The vulnerable sink is reachable in normal installation:
src/poetry/installation/executor.py:607</p>
<p>No resolve() + is_relative_to() style guard is enforced before writing.</p>
<p>### POC</p>
<p>```
from pathlib import Path
import tempfile, zipfile, sys
from installer import install
from installer.sources import WheelFile
from poetry.installation.wheel_installer import WheelDestination</p>
<p>root = Path(tempfile.mkdtemp(prefix="poetry-poc-"))
wheel = root / "evil-0.1-py3-none-any.whl"
base = root / "venv" / "lib" / "pythonX" / "site-packages"
for d in [base, root/"venv/scripts", root/"venv/headers", root/"venv/data"]:
    d.mkdir(parents=True, exist_ok=True)</p>
<p>files = {
    "evil/__init__.py": b"",
    "../../pwned.txt": b"owned\n",
    "evil-0.1.dist-info/WHEEL": b"Wheel-Version: 1.0\nRoot-Is-Purelib: true\nTag:…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-2599-h6xx-hpxp"/>
  </entry>
</feed>
