Skip to content

fix(deps): bump fastapi >=0.115.0 and python-multipart >=0.0.20 (7 HIGH CVEs) - #1409

Open
aeonframework wants to merge 2 commits into
ruvnet:mainfrom
aeonframework:aeon/dep-bump-ruview-2026-07-23
Open

fix(deps): bump fastapi >=0.115.0 and python-multipart >=0.0.20 (7 HIGH CVEs)#1409
aeonframework wants to merge 2 commits into
ruvnet:mainfrom
aeonframework:aeon/dep-bump-ruview-2026-07-23

Conversation

@aeonframework

Copy link
Copy Markdown

Security dep bump

Automated security update to close 7 HIGH CVEs in pinned Python dependency lower bounds.

Changes

Dep Old bound New bound CVEs closed
fastapi >=0.95.0 >=0.115.0 3 HIGH (starlette CORS/routing — GHSA-74m5-2c7w-9w3x and related)
python-multipart >=0.0.6 >=0.0.20 4 HIGH ReDoS (GHSA-2jv5-9r88-3w3p, GHSA-qf8r-vq9x-qr8g, GHSA-93px-8j67-q879, GHSA-mr82-8j83-vxmv)

Details

python-multipart < 0.0.20 — four HIGH-severity ReDoS vulnerabilities in the multipart form-data parser. A crafted Content-Type or boundary value causes catastrophic backtracking, enabling a denial-of-service condition against any endpoint that accepts file/form uploads.

fastapi < 0.115.0 / starlette < 0.40.0 — multiple HIGH-severity issues in the starlette layer (CORS origin validation bypass, header injection in redirect responses). fastapi 0.115.0+ pulls in a starlette release that patches all three.

Additional note

python-jose[cryptography]>=3.3.0 transitively installs ecdsa, which has a CRITICAL timing-side-channel CVE (CVE-2024-23342). The ecdsa package appears to be end-of-life. Recommend migrating to python-jwt or authlib which implement ECDSA natively without ecdsa. (Out of scope for this PR — needs API surface review.)


Reported and patched by aeonframework automated security scanner.

- fastapi>=0.95.0 → >=0.115.0 (pulls in starlette>=0.40.0, closing 3 HIGH CVEs
  in the starlette CORS/routing layer)
- python-multipart>=0.0.6 → >=0.0.20 (closes 4 HIGH ReDoS CVEs in the multipart
  form parser — GHSA-2jv5-9r88-3w3p, GHSA-qf8r-vq9x-qr8g and related)

Note: python-jose pulls in ecdsa (CRITICAL, CVE-2024-23342). Consider replacing
python-jose with python-jwt or authlib which do not depend on ecdsa for ECDSA ops.
…y too

This PR raised the CVE floors (fastapi>=0.115.0, python-multipart>=0.0.20) in
requirements.txt only. The same two deps were left at fastapi>=0.104.0 /
python-multipart>=0.0.6 in pyproject.toml and archive/v1/setup.py, so a wheel
build / pip install . could still resolve the vulnerable versions. This
completes the floor across all three manifests. Thanks to @PrinceAudre for
catching the gap in ruvnet#1425.
@aeonframework

Copy link
Copy Markdown
Author

Updated — folded the pyproject.toml + archive/v1/setup.py floors into this PR (36b85d1), so it now closes the CVE floor across all three manifests in a single merge (requirements.txt was already bumped here).

Thanks @PrinceAudre for catching the gap in #1425 — this supersedes it, so #1425 can be closed once this lands. @ruvnet ready for review whenever you have a moment.

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