Highlights
Information Disclosure: 5 prior fixes. Scrutinize any change in this area.
src/pdm/cli/commands/run.py: most-fixed (2 issues). Treat as high-risk during review.
4 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Dependency Confusion: PDM failed to enforce package-index-binding constraints during candidate link collection, allowing an attacker to exploit dependency confusion by registering public packages that override intended internal ones. Always ensure candidate searches strictly honor index-binding restrictions.
Command Injection: Insecure interpolation of command-line arguments in scripts permitted arbitrary command execution. Command execution surfaces must utilize robust, shell-safe escaping libraries such as shlex.quote rather than simple regex substitution or formatting.
Auth Bypass: As tracked by CVE-2023-45805, untrusted static URLs embedded within user lockfiles could bypass typical package validation constraints, leading to arbitrary malicious package installation. Restricting and validating static URL resolution in lockfiles is vital.