python-dotenv: Symlink following in set_key allows arbitrary file overwrite via cross-device rename fallback
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · High
- Fix status
- Partial Red Hat: 6 fixed, 7 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| theskumar | python-dotenv | before 1.2.2 | 1.2.2 | Patch available | CNA |
| — | python-dotenv (PyPI) | before 1.2.2 | 1.2.2 | Patch available | GHSA-mf9w-mj56-hr94 |
- python-dotenv Vendortheskumar Affected before 1.2.2 Fixed in 1.2.2 Patch available CNA
- python-dotenv (PyPI) Vendor— Affected before 1.2.2 Fixed in 1.2.2 Patch available GHSA-mf9w-mj56-hr94
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:saurabh-kumar:python-dotenv:*:*:*:*:*:python:*:* | before 1.2.2 | Vulnerable | Saurabh-kumar |
- cpe:2.3:a:saurabh-kumar:python-dotenv:*:*:*:*:*:python:*:* Versions before 1.2.2 Vulnerable ·Saurabh-kumar
Remediation
- Fix · CNA python-dotenv (theskumar) Fixed in 1.2.2
- Fix · GHSA-mf9w-mj56-hr94 python-dotenv (PyPI) Fixed in 1.2.2 Advisory →
Red Hat 10 advisories
- RHSA-2026:87410 Released 2026-10-21 · Red Hat rating CriticalRHOAI 2.25.12 - Red Hat OpenShift AI
- Red Hat OpenShift AI 2.25 registry.redhat.io/rhoai/odh-built-in-detector-rhel9, registry.redhat.io/rhoai/odh-caikit-nlp-rhel9, registry.redhat.io/rhoai/odh-codeflare-operator-rhel9 +47
- RHSA-2026:73987 Released 2026-09-30 · Red Hat rating CriticalRHOAI 3.3.7 - Red Hat OpenShift AI
- Red Hat OpenShift AI 3.3 registry.redhat.io/rhoai/odh-built-in-detector-rhel9, registry.redhat.io/rhoai/odh-dashboard-rhel9, registry.redhat.io/rhoai/odh-data-science-pipelines-argo-argoexec-rhel9 +47
- RHSA-2026:61628 Released 2026-08-31 · Red Hat rating ImportantRed Hat AI Inference Server Model Optimization Tools 3.2.2 (CUDA)
- Red Hat AI Inference Server 3.2 registry.redhat.io/rhaiis/model-opt-cuda-rhel9
Show 7 more Red Hat advisories
- RHSA-2026:43038 Released 2026-07-21 · Red Hat rating CriticalMigration Toolkit for Applications
- Red Hat Migration Toolkit for Applications 8.2 registry.redhat.io/mta/mta-cli-rhel9, registry.redhat.io/mta/mta-solution-server-rhel9
- RHSA-2026:42644 Released 2026-07-21 · Red Hat rating ImportantRHOAI 2.25.9 - Red Hat OpenShift AI
- Red Hat OpenShift AI 2.25 registry.redhat.io/rhoai/odh-caikit-tgis-serving-rhel9, registry.redhat.io/rhoai/odh-feature-server-rhel9, registry.redhat.io/rhoai/odh-kserve-storage-initializer-rhel9 +36
- RHSA-2026:37275 Released 2026-07-09 · Red Hat rating CriticalRHOAI 3.3.5 - Red Hat OpenShift AI
- Red Hat OpenShift AI 3.3 registry.redhat.io/rhoai/odh-dashboard-rhel9, registry.redhat.io/rhoai/odh-data-science-pipelines-operator-controller-rhel9, registry.redhat.io/rhoai/odh-feast-operator-rhel9 +45
- RHSA-2026:26226 Released 2026-06-16 · Red Hat rating ImportantGeneral availability of the satellite/iop-host-inventory-rhel9 container image
- Red Hat Satellite 6.18 registry.redhat.io/satellite/iop-host-inventory-rhel9
- RHSA-2026:24977 Released 2026-06-10 · Red Hat rating ImportantRHOAI 2.25.7 - Red Hat OpenShift AI
- Red Hat OpenShift AI 2.25 registry.redhat.io/rhoai/odh-caikit-nlp-rhel9, registry.redhat.io/rhoai/odh-caikit-tgis-serving-rhel9, registry.redhat.io/rhoai/odh-dashboard-rhel9 +34
- RHSA-2026:24866 Released 2026-06-09 · Red Hat rating CriticalRed Hat Ansible Automation Platform 2.6 Container Release Update
- Red Hat Ansible Automation Platform 2.6 registry.redhat.io/ansible-automation-platform-26/controller-rhel9, registry.redhat.io/ansible-automation-platform-26/eda-controller-rhel9, registry.redhat.io/ansible-automation-platform-26/ee-supported-rhel9 +7
- RHSA-2026:19712 Released 2026-05-20 · Red Hat rating CriticalRHOAI 3.3.3 - Red Hat OpenShift AI
- Red Hat OpenShift AI 3.3 registry.redhat.io/rhoai/odh-built-in-detector-rhel9, registry.redhat.io/rhoai/odh-dashboard-rhel9, registry.redhat.io/rhoai/odh-data-science-pipelines-argo-argoexec-rhel9 +33
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Lightspeed Core | Affected | No fix yet |
| OpenShift Lightspeed | Affected | No fix yet |
| Red Hat AI Inference Server | Affected | No fix yet |
| Red Hat Ansible Automation Platform 2 | Affected | No fix planned: Will not fix |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix yet |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet |
| Red Hat Satellite 6 | Affected | No fix yet |
| Red Hat AI Inference Server 3.2 | Fixed | RHSA-2026:61628 |
| Red Hat Ansible Automation Platform 2.6 | Fixed | RHSA-2026:24866 |
| Red Hat Migration Toolkit for Applications 8.2 | Fixed | RHSA-2026:43038 |
| Red Hat OpenShift AI 2.25 | Fixed | RHSA-2026:24977, RHSA-2026:42644, RHSA-2026:87410 |
| Red Hat OpenShift AI 3.3 | Fixed | RHSA-2026:19712, RHSA-2026:37275, RHSA-2026:73987 |
| Red Hat Satellite 6.18 | Fixed | RHSA-2026:26226 |
Not affected: 6 products
- OpenShift Lightspeed
- Red Hat Ansible Automation Platform 2.6
- Red Hat Migration Toolkit for Applications 8.2
- Red Hat OpenShift AI (RHOAI)
- Red Hat OpenShift AI 2.25
- Red Hat OpenShift AI 3.3
Timeline
- 2026-10-02 Threatist record created from CVE-2026-28684
- 2026-10-03 Alias added: GHSA-mf9w-mj56-hr94
- 2026-10-07 Fix available: RHSA-2026:73987 · Red Hat
- 2026-10-22 Fix available: RHSA-2026:87410 · Red Hat
- 2026-10-23 Affected versions changed · Red Hat
- 2026-11-06 Fix available: RHSA-2026:42644 · Red Hat
References
Sources
- CVE-2026-28684 · CVE Program
- CVE-2026-28684 · NVD
- FIRST EPSS
- GHSA-mf9w-mj56-hr94 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-28684 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences