p PatchFirst

CVE-2026-28684

CVE-2026-28684 · python-dotenv: Symlink following in set_key allows arbitrary file overwrite via cross-device rename fallback

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 6.6 · Medium · EPSS 0.3% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • python-dotenv

    Versions
    • < 1.2.2: Affected

    No fix published

  • python-dotenv Debian:12

    Versions
    • 0.21.0-1
    • 1.0.0-1
    • 1.0.1-1
    • 1.2.1-1
    • 1.2.1-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-dotenv Debian:13

    Versions
    • 1.0.1-1
    • 1.2.1-1
    • 1.2.1-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-dotenv Debian:14

    Versions
    • 1.0.1-1
    • 1.2.1-1
    • 1.2.1-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-dotenv PyPI

    Versions
    • 0.1.0
    • 0.1.2
    • 0.1.3
    • 0.1.5
    • 0.10.0
    • 0.10.1
    • 0.10.2
    • 0.10.3
    • 0.10.4
    • 0.10.5
    • 0.11.0
    • 0.12.0
    • 0.13.0
    • 0.14.0
    • 0.15.0
    • 0.16.0
    • 0.17.0
    • 0.17.1
    • 0.18.0
    • 0.19.0
    • 0.19.1
    • 0.19.2
    • 0.2.0
    • 0.20.0
    • 0.21.0
    • 0.21.1
    • 0.3.0
    • 0.4.0
    • 0.5.0
    • 0.5.1
    • 0.6.0
    • 0.6.1
    • 0.6.2
    • 0.6.3
    • 0.6.4
    • 0.6.5
    • 0.7.0
    • 0.7.1
    • 0.8.0
    • 0.8.1
    • 0.8.2
    • 0.9.0
    • 0.9.1
    • 1.0.0
    • 1.0.1
    • 1.1.0
    • 1.1.1
    • 1.2.0
    • 1.2.1
    Affected ranges
    • ECOSYSTEM: < 1.2.2

    Update to 1.2.2

  • python-dotenv Ubuntu:18.04:LTS

    Versions
    • 0.7.1-1.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-dotenv Ubuntu:20.04:LTS

    Versions
    • 0.9.1-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-dotenv Ubuntu:22.04:LTS

    Versions
    • 0.15.0-1
    • 0.19.0-1
    • 0.19.2-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-dotenv Ubuntu:24.04:LTS

    Versions
    • 1.0.0-1
    • 1.0.1-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-dotenv Ubuntu:25.10

    Versions
    • 1.0.1-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-dotenv Ubuntu:26.10

    Versions
    • 1.0.1-1build1
    • 1.2.1-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-dotenv Ubuntu:26.04:LTS

    Versions
    • 1.0.1-1
    • 1.0.1-1build1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →