<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 03 Oct 2026 18:21:21 +0000</lastBuildDate>
    <item>
      <title>BREW-pdm-CVE-2026-47781 — pdm: Project-Controlled `.pdm-plugins` Content Executes Before CLI Parsing</title>
      <link>https://cve.radiocsirt.org/vuln/brew-pdm-cve-2026-47781</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Homebrew: pdm&lt;/p&gt;
&lt;p&gt;PDM is a Python package and dependency manager. In versions up to and including 2.26.9, PDM automatically loads project-local plugins from a .pdm-plugins directory during initialization, allowing an attacker-controlled file in an untrusted repository checkout to execute arbitrary Python code before any command is parsed. This happens because load_plugins() runs during Core.init() and adds .pdm-plugins via site.addsitedir(), which processes .pth files and immediately executes any line beginning with import, so the code runs with the privileges of the user invoking pdm and even a benign command such as pdm --version triggers it (making the impact strongest in CI, automation, and privileged contexts). The issue is fixed in version 2.27.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Homebrew: pdm&lt;/p&gt;
&lt;p&gt;PDM is a Python package and dependency manager. In versions up to and including 2.26.9, PDM automatically loads project-local plugins from a .pdm-plugins directory during initialization, allowing an attacker-controlled file in an untrusted repository checkout to execute arbitrary Python code before any command is parsed. This happens because load_plugins() runs during Core.init() and adds .pdm-plugins via site.addsitedir(), which processes .pth files and immediately executes any line beginning with import, so the code runs with the privileges of the user invoking pdm and even a benign command such as pdm --version triggers it (making the impact strongest in CI, automation, and privileged contexts). The issue is fixed in version 2.27.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/brew-pdm-cve-2026-47781</guid>
    </item>
    <item>
      <title>EUVD-2026-348513</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-348513</link>
      <description>EUVD-2026-348513</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-348513</guid>
    </item>
    <item>
      <title>fkie_cve-2026-47781</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-47781</link>
      <description>&lt;p&gt;PDM is a Python package and dependency manager. In versions up to and including 2.26.9, PDM automatically loads project-local plugins from a .pdm-plugins directory during initialization, allowing an attacker-controlled file in an untrusted repository checkout to execute arbitrary Python code before any command is parsed. This happens because load_plugins() runs during Core.init() and adds .pdm-plugins via site.addsitedir(), which processes .pth files and immediately executes any line beginning with import, so the code runs with the privileges of the user invoking pdm and even a benign command such as pdm --version triggers it (making the impact strongest in CI, automation, and privileged contexts). The issue is fixed in version 2.27.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;PDM is a Python package and dependency manager. In versions up to and including 2.26.9, PDM automatically loads project-local plugins from a .pdm-plugins directory during initialization, allowing an attacker-controlled file in an untrusted repository checkout to execute arbitrary Python code before any command is parsed. This happens because load_plugins() runs during Core.init() and adds .pdm-plugins via site.addsitedir(), which processes .pth files and immediately executes any line beginning with import, so the code runs with the privileges of the user invoking pdm and even a benign command such as pdm --version triggers it (making the impact strongest in CI, automation, and privileged contexts). The issue is fixed in version 2.27.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-47781</guid>
    </item>
    <item>
      <title>GHSA-qq6c-99pv-prvf — PDM: Project-Controlled `.pdm-plugins` Content Executes Before CLI Parsing</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-qq6c-99pv-prvf</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pdm&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;PDM automatically loads project-local plugin paths from `.pdm-plugins` during `Core` initialization. Because this path is added via `site.addsitedir()`, attacker-controlled `.pth` files inside the project plugin directory are processed and can execute Python code before normal CLI handling begins.&lt;/p&gt;
&lt;p&gt;This allows arbitrary code execution with the privileges of the user running `pdm` from an untrusted repository checkout.&lt;/p&gt;
&lt;p&gt;## Affected Behavior&lt;/p&gt;
&lt;p&gt;- Trigger does not require `pdm install --plugins`
- A low-impact command such as `pdm --version` is sufficient
- Impact is strongest in CI, privileged shells, and automation contexts&lt;/p&gt;
&lt;p&gt;## Affected Code&lt;/p&gt;
&lt;p&gt;- `src/pdm/core.py:74-82`
- `src/pdm/core.py:310-333`
- `src/pdm/core.py:335-352`&lt;/p&gt;
&lt;p&gt;## Technical Details&lt;/p&gt;
&lt;p&gt;`Core.__init__()` calls `load_plugins()` before ordinary command execution. `load_plugins()` calls `_add_project_plugins_library()`, which derives the project-local `.pdm-plugins` library path and adds it through `site.addsitedir()`.&lt;/p&gt;
&lt;p&gt;On CPython, `site.addsitedir()` processes `.pth` files found in the added directory. `.pth` lines beginning with `import ` are executed immediately. This creates a trust-boundary break: project-controlled files execute before the user explicitly opts into plugin installation or plugin loading.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;- Arbitrary code execution as the invoking user
- Potential credential theft, persistence, or workspace tampering
- Potential privilege escalation when `pdm` is run via `sudo`, root-owned CI j…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pdm&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;PDM automatically loads project-local plugin paths from `.pdm-plugins` during `Core` initialization. Because this path is added via `site.addsitedir()`, attacker-controlled `.pth` files inside the project plugin directory are processed and can execute Python code before normal CLI handling begins.&lt;/p&gt;
&lt;p&gt;This allows arbitrary code execution with the privileges of the user running `pdm` from an untrusted repository checkout.&lt;/p&gt;
&lt;p&gt;## Affected Behavior&lt;/p&gt;
&lt;p&gt;- Trigger does not require `pdm install --plugins`
- A low-impact command such as `pdm --version` is sufficient
- Impact is strongest in CI, privileged shells, and automation contexts&lt;/p&gt;
&lt;p&gt;## Affected Code&lt;/p&gt;
&lt;p&gt;- `src/pdm/core.py:74-82`
- `src/pdm/core.py:310-333`
- `src/pdm/core.py:335-352`&lt;/p&gt;
&lt;p&gt;## Technical Details&lt;/p&gt;
&lt;p&gt;`Core.__init__()` calls `load_plugins()` before ordinary command execution. `load_plugins()` calls `_add_project_plugins_library()`, which derives the project-local `.pdm-plugins` library path and adds it through `site.addsitedir()`.&lt;/p&gt;
&lt;p&gt;On CPython, `site.addsitedir()` processes `.pth` files found in the added directory. `.pth` lines beginning with `import ` are executed immediately. This creates a trust-boundary break: project-controlled files execute before the user explicitly opts into plugin installation or plugin loading.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;- Arbitrary code execution as the invoking user
- Potential credential theft, persistence, or workspace tampering
- Potential privilege escalation when `pdm` is run via `sudo`, root-owned CI j…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-qq6c-99pv-prvf</guid>
    </item>
    <item>
      <title>openSUSE-SU-2026:11124-1 — python311-pdm-2.28.0-1.1 on GA media</title>
      <link>https://cve.radiocsirt.org/vuln/opensuse-su-2026:11124-1</link>
      <description>&lt;p&gt;python311-pdm-2.28.0-1.1 on GA media&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;python311-pdm-2.28.0-1.1 on GA media&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/opensuse-su-2026:11124-1</guid>
    </item>
    <item>
      <title>PYSEC-2026-2863 — PDM: Project-Controlled `.pdm-plugins` Content Executes Before CLI Parsing</title>
      <link>https://cve.radiocsirt.org/vuln/pysec-2026-2863</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pdm&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;PDM automatically loads project-local plugin paths from `.pdm-plugins` during `Core` initialization. Because this path is added via `site.addsitedir()`, attacker-controlled `.pth` files inside the project plugin directory are processed and can execute Python code before normal CLI handling begins.&lt;/p&gt;
&lt;p&gt;This allows arbitrary code execution with the privileges of the user running `pdm` from an untrusted repository checkout.&lt;/p&gt;
&lt;p&gt;## Affected Behavior&lt;/p&gt;
&lt;p&gt;- Trigger does not require `pdm install --plugins`
- A low-impact command such as `pdm --version` is sufficient
- Impact is strongest in CI, privileged shells, and automation contexts&lt;/p&gt;
&lt;p&gt;## Affected Code&lt;/p&gt;
&lt;p&gt;- `src/pdm/core.py:74-82`
- `src/pdm/core.py:310-333`
- `src/pdm/core.py:335-352`&lt;/p&gt;
&lt;p&gt;## Technical Details&lt;/p&gt;
&lt;p&gt;`Core.__init__()` calls `load_plugins()` before ordinary command execution. `load_plugins()` calls `_add_project_plugins_library()`, which derives the project-local `.pdm-plugins` library path and adds it through `site.addsitedir()`.&lt;/p&gt;
&lt;p&gt;On CPython, `site.addsitedir()` processes `.pth` files found in the added directory. `.pth` lines beginning with `import ` are executed immediately. This creates a trust-boundary break: project-controlled files execute before the user explicitly opts into plugin installation or plugin loading.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;- Arbitrary code execution as the invoking user
- Potential credential theft, persistence, or workspace tampering
- Potential privilege escalation when `pdm` is run via `sudo`, root-owned CI j…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pdm&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;PDM automatically loads project-local plugin paths from `.pdm-plugins` during `Core` initialization. Because this path is added via `site.addsitedir()`, attacker-controlled `.pth` files inside the project plugin directory are processed and can execute Python code before normal CLI handling begins.&lt;/p&gt;
&lt;p&gt;This allows arbitrary code execution with the privileges of the user running `pdm` from an untrusted repository checkout.&lt;/p&gt;
&lt;p&gt;## Affected Behavior&lt;/p&gt;
&lt;p&gt;- Trigger does not require `pdm install --plugins`
- A low-impact command such as `pdm --version` is sufficient
- Impact is strongest in CI, privileged shells, and automation contexts&lt;/p&gt;
&lt;p&gt;## Affected Code&lt;/p&gt;
&lt;p&gt;- `src/pdm/core.py:74-82`
- `src/pdm/core.py:310-333`
- `src/pdm/core.py:335-352`&lt;/p&gt;
&lt;p&gt;## Technical Details&lt;/p&gt;
&lt;p&gt;`Core.__init__()` calls `load_plugins()` before ordinary command execution. `load_plugins()` calls `_add_project_plugins_library()`, which derives the project-local `.pdm-plugins` library path and adds it through `site.addsitedir()`.&lt;/p&gt;
&lt;p&gt;On CPython, `site.addsitedir()` processes `.pth` files found in the added directory. `.pth` lines beginning with `import ` are executed immediately. This creates a trust-boundary break: project-controlled files execute before the user explicitly opts into plugin installation or plugin loading.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;- Arbitrary code execution as the invoking user
- Potential credential theft, persistence, or workspace tampering
- Potential privilege escalation when `pdm` is run via `sudo`, root-owned CI j…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/pysec-2026-2863</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2026-47781</title>
      <link>https://cve.radiocsirt.org/vuln/ubuntu-cve-2026-47781</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:26.04:LTS: pdm&lt;/p&gt;
&lt;p&gt;PDM is a Python package and dependency manager. In versions up to and including 2.26.9, PDM automatically loads project-local plugins from a .pdm-plugins directory during initialization, allowing an attacker-controlled file in an untrusted repository checkout to execute arbitrary Python code before any command is parsed. This happens because load_plugins() runs during Core.init() and adds .pdm-plugins via site.addsitedir(), which processes .pth files and immediately executes any line beginning with import, so the code runs with the privileges of the user invoking pdm and even a benign command such as pdm --version triggers it (making the impact strongest in CI, automation, and privileged contexts). The issue is fixed in version 2.27.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:26.04:LTS: pdm&lt;/p&gt;
&lt;p&gt;PDM is a Python package and dependency manager. In versions up to and including 2.26.9, PDM automatically loads project-local plugins from a .pdm-plugins directory during initialization, allowing an attacker-controlled file in an untrusted repository checkout to execute arbitrary Python code before any command is parsed. This happens because load_plugins() runs during Core.init() and adds .pdm-plugins via site.addsitedir(), which processes .pth files and immediately executes any line beginning with import, so the code runs with the privileges of the user invoking pdm and even a benign command such as pdm --version triggers it (making the impact strongest in CI, automation, and privileged contexts). The issue is fixed in version 2.27.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ubuntu-cve-2026-47781</guid>
    </item>
  </channel>
</rss>
