medium6.6
CVE-2026-28684
python-dotenv: Symlink following in set_key allows arbitrary file overwrite via cross-device rename fallback
Impact
python-dotenv reads key-value pairs from a .env file and can set them as environment variables. Prior to version 1.2.2, `set_key()` and `unset_key()` in python-dotenv follow symbolic links when rewriting `.env` files, allowing a local attacker to overwrite arbitrary files via a crafted symlink when a cross-device rename fallback is triggered. Users should upgrade to v.1.2.2 or, as a workaround, apply the patch manually.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | python-dotenv | < 1.2.2 | 1.2.2 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Saurabh-Kumar | Python-Dotenv | before 1.2.2 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-mf9w-mj56-hr94
- https://github.com/theskumar/python-dotenv/security/advisories/GHSA-mf9w-mj56-hr94
- https://nvd.nist.gov/vuln/detail/CVE-2026-28684
- https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311
- https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311.patch
- https://github.com/theskumar/python-dotenv/releases/tag/v1.2.2