AUGUST 16, 2026
Live Feed
Back to database
Case File

CVE-2026-47763

MEDIUM · CVSS 6.8 EPSS 0.15% Public Exploit

Source: NVD + CISA KEV + EPSS · Published 2026-08-04 · Last synced 2026-08-16

CyberRota Analysis

AI-Generated

Versions of the pdm Python package prior to 2.27.0 are vulnerable due to inadequate symlink protection when writing project-local configuration files, allowing attackers to exploit this weakness to overwrite arbitrary files. This vulnerability can lead to unauthorized file modifications, potentially compromising the system based on the privileges of the user executing the commands. Developers and organizations using pdm for Python project management should prioritize upgrading to version 2.27.0 or later to mitigate this risk.

Public Exploit Signal

A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.

Detected Signals
poc

Note: these links are listed for security research and verification purposes only.

CVE
CVE-2026-47763
Severity
MEDIUM
CVSS
6.8
EPSS
0.15%

Original NVD Description

pdm is a Python package and dependency manager supporting the latest PEP standards. In versions prior to 2.27.0, pdm writes several project-local state or configuration files without symlink protection. If a malicious repository places those files as symlinks, local PDM operations can overwrite the symlink targets. This creates an arbitrary file clobber primitive relative to the privileges of the invoking user. Config.__init__() resolves the project-local pdm.toml path and _save_config() writes to the resolved target. If PROJECT_ROOT/pdm.toml is a symlink to another file, pdm config -l ... updates the target file instead of refusing the write. The same general problem exists for other project-local persistence paths that are written directly with no lstat / O_NOFOLLOW protection. For the pdm.toml PoC specifically, the target file must already contain parseable TOML. Otherwise the load step fails before the write path is reached. That parser constraint does not apply to the .pdm-python or .python-version sinks. This issue has been fixed in version 2.27.0.