Skip to content

CVE-2026-28684, CVE-2026-25645: bump python-dotenv and requests floors#268

Closed
saileshwar-skyflow wants to merge 11 commits into
mainfrom
release/26.6.0
Closed

CVE-2026-28684, CVE-2026-25645: bump python-dotenv and requests floors#268
saileshwar-skyflow wants to merge 11 commits into
mainfrom
release/26.6.0

Conversation

@saileshwar-skyflow

@saileshwar-skyflow saileshwar-skyflow commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Bumps dependency floors to patch two CVEs reported against the SDK's transitive dependencies.

Why

CVE-2026-28684 — python-dotenv < 1.2.2
set_key() and unset_key() follow symbolic links when rewriting .env files, allowing a local attacker to overwrite arbitrary files via a crafted symlink. Fixed in python-dotenv 1.2.2.

CVE-2026-25645 — requests < 2.33.0
requests.utils.extract_zipped_paths() uses a predictable filename in the system temp directory, allowing a local attacker to pre-create a malicious file. Fixed in requests 2.33.0.

Note: Standard usage of the requests library is not affected — only callers of extract_zipped_paths() directly are impacted. The SDK does not call this function.
Python 3.9 constraint: requests 2.33.0 requires Python >= 3.10. Since the SDK currently supports Python >= 3.9, the floor is set to >= 2.32.2 (highest version available on Python 3.9, avoids yanked 2.32.0 and 2.32.1). Full remediation of CVE-2026-25645 requires dropping Python 3.9 support and bumping python_requires to >=3.10 — this needs to be decided separately.

Goal

  • Patch CVE-2026-28684 fully (python-dotenv >= 1.2.2)
  • Partially mitigate CVE-2026-25645 on Python 3.9 (requests >= 2.32.2); full fix blocked by Python 3.9 support

Changes

Package Old New CVE
python-dotenv >= 1.1.0, < 2 >= 1.2.2, < 2 CVE-2026-28684 ✅ fully patched
requests >= 2.28.0 >= 2.32.2 CVE-2026-25645 ⚠️ partial — full fix needs Python 3.10+

Python 3.10 migration note

To fully remediate CVE-2026-25645, the SDK needs to:

  1. Bump python_requires from >=3.9 to >=3.10 in setup.py
  2. Update CI to test on Python 3.10
  3. Set requests >= 2.33.0

This should be tracked and decided before the next release.

Testing

  • CI runs on Python 3.9 — passes with requests >= 2.32.2
  • requests 2.33.0 is excluded as it requires Python >= 3.10

Tech debt

  • CVE-2026-25645 is only partially mitigated until Python 3.9 support is dropped

saileshwar-skyflow and others added 7 commits June 12, 2026 11:45
requests >= 2.33.0 (CVE-2026-25645 fix) requires Python >= 3.10.
SDK currently supports Python >= 3.9 so 2.33.0 cannot be installed.
Pinning to >= 2.32.2 (highest available on 3.9, avoids yanked 2.32.0
and 2.32.1). Full remediation of CVE-2026-25645 requires dropping
Python 3.9 support — tracked separately.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@saileshwar-skyflow saileshwar-skyflow changed the title SK-2872: Public Release - Clean up and upgrade SDK production dependencies CVE-2026-28684, CVE-2026-25645: bump python-dotenv and requests floors Jun 12, 2026
saileshwar-skyflow and others added 4 commits June 12, 2026 16:00
python-dotenv 1.2.2 requires Python >= 3.10; highest available on
Python 3.9 is 1.2.1. Partially mitigates CVE-2026-28684 — full
remediation (1.2.2+) blocked until Python 3.9 support is dropped.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.32.2 was the CVE-patched minimum but still constrained consumers
on older stable releases. 2.28.0 is the minimum that works with the
SDK and is widely available on Python 3.9.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant