<?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://vulnerability.circl.lu</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>Mon, 05 Oct 2026 18:15:06 +0000</lastBuildDate>
    <item>
      <title>BREW-pdm-CVE-2023-45805 — Trojan Lockfilein pdm</title>
      <link>https://vulnerability.circl.lu/vuln/brew-pdm-cve-2023-45805</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 supporting the latest PEP standards. It&amp;#39;s possible to craft a malicious `pdm.lock` file that could allow e.g. an insider or a malicious open source project to appear to depend on a trusted PyPI project, but actually install another project. A project `foo` can be targeted by creating the project `foo-2` and uploading the file `foo-2-2.tar.gz` to pypi.org. PyPI will see this as project `foo-2` version `2`, while PDM will see this as project `foo` version `2-2`. The version must only be `parseable as a version` and the filename must be a prefix of the project name, but it&amp;#39;s not verified to match the version being installed. Version `2-2` is also not a valid normalized version per PEP 440. Matching the project name exactly (not just prefix) would fix the issue. When installing dependencies with PDM, what&amp;#39;s actually installed could differ from what&amp;#39;s listed in `pyproject.toml` (including arbitrary code execution on install). It could also be used for downgrade attacks by only changing the version. This issue has been addressed in commit `6853e2642df` which is included in release version `2.9.4`. Users are advised to upgrade. There are no known workarounds for this vulnerability.&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 supporting the latest PEP standards. It&amp;#39;s possible to craft a malicious `pdm.lock` file that could allow e.g. an insider or a malicious open source project to appear to depend on a trusted PyPI project, but actually install another project. A project `foo` can be targeted by creating the project `foo-2` and uploading the file `foo-2-2.tar.gz` to pypi.org. PyPI will see this as project `foo-2` version `2`, while PDM will see this as project `foo` version `2-2`. The version must only be `parseable as a version` and the filename must be a prefix of the project name, but it&amp;#39;s not verified to match the version being installed. Version `2-2` is also not a valid normalized version per PEP 440. Matching the project name exactly (not just prefix) would fix the issue. When installing dependencies with PDM, what&amp;#39;s actually installed could differ from what&amp;#39;s listed in `pyproject.toml` (including arbitrary code execution on install). It could also be used for downgrade attacks by only changing the version. This issue has been addressed in commit `6853e2642df` which is included in release version `2.9.4`. Users are advised to upgrade. There are no known workarounds for this vulnerability.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/brew-pdm-cve-2023-45805</guid>
    </item>
    <item>
      <title>CVE-2023-45805 — Trojan Lockfilein pdm</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2023-45805</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pdm-project pdm, frostming pdm, frostming unearth&lt;/p&gt;
&lt;p&gt;pdm is a Python package and dependency manager supporting the latest PEP standards. It&amp;#39;s possible to craft a malicious `pdm.lock` file that could allow e.g. an insider or a malicious open source project to appear to depend on a trusted PyPI project, but actually install another project. A project `foo` can be targeted by creating the project `foo-2` and uploading the file `foo-2-2.tar.gz` to pypi.org. PyPI will see this as project `foo-2` version `2`, while PDM will see this as project `foo` version `2-2`. The version must only be `parseable as a version` and the filename must be a prefix of the project name, but it&amp;#39;s not verified to match the version being installed. Version `2-2` is also not a valid normalized version per PEP 440. Matching the project name exactly (not just prefix) would fix the issue. When installing dependencies with PDM, what&amp;#39;s actually installed could differ from what&amp;#39;s listed in `pyproject.toml` (including arbitrary code execution on install). It could also be used for downgrade attacks by only changing the version. This issue has been addressed in commit `6853e2642df` which is included in release version `2.9.4`. Users are advised to upgrade. There are no known workarounds for this vulnerability.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pdm-project pdm, frostming pdm, frostming unearth&lt;/p&gt;
&lt;p&gt;pdm is a Python package and dependency manager supporting the latest PEP standards. It&amp;#39;s possible to craft a malicious `pdm.lock` file that could allow e.g. an insider or a malicious open source project to appear to depend on a trusted PyPI project, but actually install another project. A project `foo` can be targeted by creating the project `foo-2` and uploading the file `foo-2-2.tar.gz` to pypi.org. PyPI will see this as project `foo-2` version `2`, while PDM will see this as project `foo` version `2-2`. The version must only be `parseable as a version` and the filename must be a prefix of the project name, but it&amp;#39;s not verified to match the version being installed. Version `2-2` is also not a valid normalized version per PEP 440. Matching the project name exactly (not just prefix) would fix the issue. When installing dependencies with PDM, what&amp;#39;s actually installed could differ from what&amp;#39;s listed in `pyproject.toml` (including arbitrary code execution on install). It could also be used for downgrade attacks by only changing the version. This issue has been addressed in commit `6853e2642df` which is included in release version `2.9.4`. Users are advised to upgrade. There are no known workarounds for this vulnerability.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2023-45805</guid>
    </item>
    <item>
      <title>PYSEC-2026-1763 — PDM Trojan Lockfile</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-1763</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pdm&lt;/p&gt;
&lt;p&gt;### Summary
It&amp;#39;s possible to craft a malicious `pdm.lock` file that could allow e.g. an insider or a malicious open source project to appear to depend on a trusted PyPI project, but actually install another project.&lt;/p&gt;
&lt;p&gt;### Details
Project `foo` can be targeted by creating the project `foo-2` and uploading the file `foo-2-2.tar.gz` to pypi.org. PyPI will see this as project `foo-2` version `2`, while PDM will see this as project `foo` version `2-2`. The version must only be [parseable as a version](https://github.com/frostming/unearth/blob/eca170d9370ac5032f2e497ee9b1b63823d3fe0f/src/unearth/evaluator.py#L215-L229) (and the filename must be a prefix of the project name), but it&amp;#39;s [not verified to match the version being installed](https://github.com/pdm-project/pdm/blob/45d1dfa47d4900c14a31b9bb761e4c46eb5c9442/src/pdm/models/candidates.py#L98-L99). (Version `2-2` is also not a valid [normalized version per PEP 440](https://peps.python.org/pep-0440/#post-release-spelling).)&lt;/p&gt;
&lt;p&gt;Matching the project name exactly (not just prefix) would fix the issue. The version should also be verified to avoid version downgrade attacks.&lt;/p&gt;
&lt;p&gt;### PoC
Example `pdm.lock` snippet to appear to depend on `foo` but actually install `foo-2`
```
&amp;#34;foo 2.2.0&amp;#34; = [
  url = &amp;#34;https://files.pythonhosted.org/.../foo-2-2.tar.gz
]
```&lt;/p&gt;
&lt;p&gt;### Impact
When installing dependencies with PDM, what&amp;#39;s actually installed could differ from what&amp;#39;s listed in `pyproject.toml` (including arbitrary code execution on install). It could al…&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
It&amp;#39;s possible to craft a malicious `pdm.lock` file that could allow e.g. an insider or a malicious open source project to appear to depend on a trusted PyPI project, but actually install another project.&lt;/p&gt;
&lt;p&gt;### Details
Project `foo` can be targeted by creating the project `foo-2` and uploading the file `foo-2-2.tar.gz` to pypi.org. PyPI will see this as project `foo-2` version `2`, while PDM will see this as project `foo` version `2-2`. The version must only be [parseable as a version](https://github.com/frostming/unearth/blob/eca170d9370ac5032f2e497ee9b1b63823d3fe0f/src/unearth/evaluator.py#L215-L229) (and the filename must be a prefix of the project name), but it&amp;#39;s [not verified to match the version being installed](https://github.com/pdm-project/pdm/blob/45d1dfa47d4900c14a31b9bb761e4c46eb5c9442/src/pdm/models/candidates.py#L98-L99). (Version `2-2` is also not a valid [normalized version per PEP 440](https://peps.python.org/pep-0440/#post-release-spelling).)&lt;/p&gt;
&lt;p&gt;Matching the project name exactly (not just prefix) would fix the issue. The version should also be verified to avoid version downgrade attacks.&lt;/p&gt;
&lt;p&gt;### PoC
Example `pdm.lock` snippet to appear to depend on `foo` but actually install `foo-2`
```
&amp;#34;foo 2.2.0&amp;#34; = [
  url = &amp;#34;https://files.pythonhosted.org/.../foo-2-2.tar.gz
]
```&lt;/p&gt;
&lt;p&gt;### Impact
When installing dependencies with PDM, what&amp;#39;s actually installed could differ from what&amp;#39;s listed in `pyproject.toml` (including arbitrary code execution on install). It could al…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-1763</guid>
    </item>
  </channel>
</rss>
