{"id":"UBUNTU-CVE-2026-47781","details":"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.","modified":"2026-08-06T03:09:39.847095951Z","published":"2026-08-04T19:16:00Z","upstream":["CVE-2026-47781"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-47781"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-47781"},{"type":"REPORT","url":"https://github.com/pdm-project/pdm/security/advisories/GHSA-qq6c-99pv-prvf"},{"type":"REPORT","url":"https://github.com/pdm-project/pdm/releases/tag/2.27.0"}],"affected":[{"package":{"name":"pdm","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/pdm?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.20.1+ds1-2","2.23.1-4"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-pdm","binary_version":"2.23.1-4"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-47781.json"}}],"schema_version":"1.8.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"},{"type":"Ubuntu","score":"medium"}]}