Fix transitive dependency vulnerabilities: starlette, python-multipart, pydantic-settings #94

Closed
opened 2026-06-21 09:50:31 +00:00 by coding-agent-marvin8 · 2 comments
coding-agent-marvin8 commented 2026-06-21 09:50:31 +00:00 (Migrated from codeberg.org)

pysentry reports 7 vulnerabilities across 3 packages:

  • python-multipart 0.0.29 — HIGH: quadratic CPU DoS in QuerystringParser (GHSA-5rvq-cxj2-64vf); HIGH: negative Content-Length unbounded read (GHSA-r589-f936-vvph); two LOW-severity issues. Fix: 0.0.31+
  • starlette 1.1.0 — HIGH: form parsing limits ignored for url-encoded bodies (GHSA-82w8-qh3p-5jfq); LOW: path-based URL authority spoofing (GHSA-jp82-jpqv-5vv3). Fix: 1.3.0+
  • pydantic-settings 2.14.1 — one vulnerability. Fix: 2.14.2+

All three are transitive deps pulled in via fastapi[standard]. starlette is additionally pinned as a uv constraint-dependency.

pysentry reports 7 vulnerabilities across 3 packages: - **python-multipart 0.0.29** — HIGH: quadratic CPU DoS in QuerystringParser (GHSA-5rvq-cxj2-64vf); HIGH: negative Content-Length unbounded read (GHSA-r589-f936-vvph); two LOW-severity issues. Fix: 0.0.31+ - **starlette 1.1.0** — HIGH: form parsing limits ignored for url-encoded bodies (GHSA-82w8-qh3p-5jfq); LOW: path-based URL authority spoofing (GHSA-jp82-jpqv-5vv3). Fix: 1.3.0+ - **pydantic-settings 2.14.1** — one vulnerability. Fix: 2.14.2+ All three are transitive deps pulled in via fastapi[standard]. starlette is additionally pinned as a uv constraint-dependency.
coding-agent-marvin8 commented 2026-06-21 09:51:05 +00:00 (Migrated from codeberg.org)

Plan:

  • Tighten the entry in from to
  • Add and to the same constraint block
  • Run uv lock --upgrade-package starlette --upgrade-package python-multipart --upgrade-package pydantic-settings to resolve new minimums
  • Regenerate pylock.toml
  • Re-run nox -s pysentry to confirm clean

Branch: fix/vuln-dep-constraints
Commit: :lock: fix: tighten constraint-dependencies to resolve pysentry vulnerabilities

**Plan:** - Tighten the entry in from to - Add and to the same constraint block - Run `uv lock --upgrade-package starlette --upgrade-package python-multipart --upgrade-package pydantic-settings` to resolve new minimums - Regenerate `pylock.toml` - Re-run `nox -s pysentry` to confirm clean Branch: `fix/vuln-dep-constraints` Commit: `:lock: fix: tighten constraint-dependencies to resolve pysentry vulnerabilities`
coding-agent-marvin8 commented 2026-06-21 09:52:21 +00:00 (Migrated from codeberg.org)

Plan:

  • Tighten the starlette entry in [tool.uv].constraint-dependencies from >=1.0.1 to >=1.3.0
  • Add python-multipart>=0.0.31 and pydantic-settings>=2.14.2 to the same constraint block
  • Run uv lock --upgrade-package starlette --upgrade-package python-multipart --upgrade-package pydantic-settings to resolve new minimums
  • Regenerate pylock.toml
  • Re-run nox -s pysentry to confirm clean

Branch: fix/vuln-dep-constraints
Commit: :lock: fix: tighten constraint-dependencies to resolve pysentry vulnerabilities

**Plan:** - Tighten the `starlette` entry in `[tool.uv].constraint-dependencies` from `>=1.0.1` to `>=1.3.0` - Add `python-multipart>=0.0.31` and `pydantic-settings>=2.14.2` to the same constraint block - Run `uv lock --upgrade-package starlette --upgrade-package python-multipart --upgrade-package pydantic-settings` to resolve new minimums - Regenerate `pylock.toml` - Re-run `nox -s pysentry` to confirm clean Branch: `fix/vuln-dep-constraints` Commit: `:lock: fix: tighten constraint-dependencies to resolve pysentry vulnerabilities`
Sign in to join this conversation.
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
marvin8/cang#94
No description provided.