Your RSA-2048 keys break in 2030. Find every one of them before attackers do.

CVE-2026-28684

MEDIUM

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…

Published
Apr 20, 2026
Updated
Jun 17, 2026
Affected
0 pkgs
Patched
None yet
Exploits
None indexed

EPSS Exploitation Probability

via FIRST.org ↗
0.2%probability of exploitation in next 30 days
Lower Risk14th percentile+0.23%
0.00%0.25%0.49%0.74%0.0%0.0%0.2%May 26Jun 26Jun 26

EPSS (Exploit Prediction Scoring System) is a daily probability model maintained by FIRST.org. It estimates the likelihood a CVE will be exploited in production environments within the next 30 days, derived from real-world threat intelligence signals.

Description

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 Products

1 product · 1 configurations
Application
python-dotenvsaurabh-kumar
< 1.2.2
range

Detection & mitigation playbook

Vendor / appliance
  1. Detect

    Inventory every saurabh-kumar python-dotenv deployment and check each version against the affected-products list above. Because the exploit targets the running system rather than your application code, also watch for exploitation at the network and runtime layer — O3 flags the exploit behaviour from runtime telemetry and egress traffic even before a vulnerable build is confirmed.

  2. Fix

    Apply the saurabh-kumar python-dotenv security patch or hotfix for CVE-2026-28684 on the affected version, following the vendor advisory for your exact build.

  3. Workarounds

    Cut exposure now: restrict the management/admin interface to trusted networks, segment the device, and apply the vendor's recommended configuration mitigations and any WAF/IPS signature. O3's runtime protection blocks the exploit chain at execution, holding the line on unpatched or end-of-life systems until you can patch.

  4. How O3 protects you

    O3 detects and blocks CVE-2026-28684 exploitation at runtime: eBPF exploit-chain detection, plus L7 egress monitoring that catches the post-exploitation callback and severs the attacker's outbound channel.

Tailored to CVE-2026-28684. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.

Frequently Asked Questions

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.
O3 Security · Runtime Protection

Is CVE-2026-28684 being exploited in your environment?

O3's eBPF runtime sensors and L7 egress monitoring detect and block the CVE-2026-28684 exploit chain at execution — protecting unpatched and end-of-life systems until the vendor patch is applied.

CVE-2026-28684: Python-Dotenv CWE-59 (Medium 6.6) | O3 Security