Skip to content

fix(deps): patch Python CVEs - aiohttp 3.14.5, multidict 7.2.1, mako 1.4.3, werkzeug 3.1.9 - #401

Merged
TFT444 merged 2 commits into
devfrom
fix/security-deps-python
Oct 28, 2026
Merged

TFT444 merged 2 commits into
devfrom
fix/security-deps-python

Conversation

@TFT444

@TFT444 TFT444 commented Oct 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Pin vulnerable transitive Python dependencies explicitly in requirements.in and regenerate all three lock files to clear pip-audit SCA failures that were blocking the entire PR queue.
  • aiohttp 3.14.3 → 3.14.5: fixes HIGH file descriptor exhaustion, memory exhaustion, missing timeout, request smuggling and cookie scope CVEs
  • multidict 6.8.0 → 7.2.1: fixes MEDIUM reference leak in CIMultiDict
  • mako 1.4.1 → 1.4.3: fixes MEDIUM path traversal on Windows via drive-letter URI
  • werkzeug 3.1.8 → 3.1.9: keeps at latest; already pinned in previous fix, now in requirements.in as an explicit guard

Why requirements.in

These are transitive dependencies pulled in by Flask and SQLAlchemy. Without explicit pins in requirements.in, pip-audit flags them on every CI run, blocking unrelated PRs. Pins are placed at the bottom of requirements.in with a comment.

Lock file regeneration

Regenerated via scripts/lock_dependencies.py using Python 3.11 on Linux (pip-tools 7.6.1, pip 26.2.1) as required by the project's lock script.

Test plan

  • CI pip-audit step passes on this branch
  • pip install -r requirements.txt produces no audit warnings for the four pinned packages
  • Existing test suite passes (no functional code changes)

…werkzeug

Pin vulnerable transitive dependencies explicitly in requirements.in and
regenerate all three lock files with Python 3.11 on Linux (pip-tools 7.6.1,
pip 26.2.1) to clear pip-audit SCA failures blocking the PR queue.

aiohttp 3.14.3 -> 3.14.5: fixes HIGH file descriptor exhaustion, memory
exhaustion, missing timeout, request smuggling and cookie scope CVEs.
multidict 6.8.0 -> 7.2.1: fixes MEDIUM reference leak in CIMultiDict.
mako 1.4.1 -> 1.4.3: fixes MEDIUM path traversal on Windows via drive-letter URI.
werkzeug 3.1.8 -> 3.1.9: keeps at latest to avoid regression on previous fix.

Signed-off-by: Tanvir Farhad <tamimtarafder12@gmail.com>
@TFT444
TFT444 requested a review from Vishnu2707 as a code owner October 28, 2026 00:14
@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
pip/aiohttp 3.14.5 UnknownUnknown
pip/certifi 2026.10.23 🟢 6.5
Details
CheckScoreReason
Code-Review🟢 6Found 4/6 approved changesets -- score normalized to 6
Security-Policy🟢 10security policy file detected
Binary-Artifacts🟢 10no binaries found in the repo
Maintained🟢 88 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 8
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Pinned-Dependencies🟢 5dependency not pinned by hash detected -- score normalized to 5
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
License🟢 9license file detected
Fuzzing⚠️ 0project is not fuzzed
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
Packaging🟢 10packaging workflow detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
pip/mako 1.4.3 UnknownUnknown
pip/multidict 7.2.1 UnknownUnknown
pip/werkzeug 3.1.9 UnknownUnknown

Scanned Files

  • requirements.txt

…CRITICAL)

certifi 2026.6.17 bundles emSign root CAs that were revoked/compromised;
GHSA-6q48-6c7w-9gw2 is rated CRITICAL and was found by both pip-audit and
Trivy container scan. Bump to 2026.10.23 and regenerate all lock files.

Signed-off-by: Tanvir Farhad <tamimtarafder12@gmail.com>

@parthrohit22 parthrohit22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed c2a22d0. The lock changes are only versions and hashes for aiohttp, multidict, mako, werkzeug and certifi. Nothing else moved, and CI is green. Approving. Please merge this first, so the other PRs can drop their duplicate dependency edits and rebase onto it.

Two non-blocking notes:

multidict goes up a major version (6.8.0 → 7.2.1). OWASP/openshield#392 fixed the same CVE with 6.9.1. If 7.x isn’t needed for anything else, the smaller bump is lower risk.
Exact == pins on indirect dependencies in requirements.in will need manual bumps from now on. Lower bounds like >= would let the lock script handle them.

@TFT444
TFT444 merged commit be2d9a2 into dev Oct 28, 2026
21 checks passed
@TFT444
TFT444 deleted the fix/security-deps-python branch October 28, 2026 16:18
TFT444 added a commit that referenced this pull request Nov 1, 2026
Dependency lock updates are handled in #401 (fix/security-deps-python).
Removing from this PR to keep the diff focused on the CSPM AI agent.

Signed-off-by: Tanvir Farhad <tanvirfarhad007@gmail.com>
Signed-off-by: Tanvir Farhad <tamimtarafder12@gmail.com>
TFT444 added a commit that referenced this pull request Nov 1, 2026
Dependency lock updates are handled in #401 (fix/security-deps-python).
Removing from this PR to keep the diff focused on finding lifecycle.

Signed-off-by: Tanvir Farhad <tanvirfarhad007@gmail.com>
Signed-off-by: Tanvir Farhad <tamimtarafder12@gmail.com>
TFT444 added a commit that referenced this pull request Nov 1, 2026
Dependency lock updates are handled in #401 (fix/security-deps-python).
Removing from this PR to resolve conflict with dev.

Signed-off-by: Tanvir Farhad <tanvirfarhad007@gmail.com>
Signed-off-by: Tanvir Farhad <tamimtarafder12@gmail.com>
TFT444 added a commit that referenced this pull request Nov 1, 2026
Dependency lock updates are handled in #401 (fix/security-deps-python).
Removing from this PR to resolve conflict with dev.

Signed-off-by: Tanvir Farhad <tanvirfarhad007@gmail.com>
Signed-off-by: Tanvir Farhad <tamimtarafder12@gmail.com>
TFT444 added a commit that referenced this pull request Nov 1, 2026
Dependency lock updates are handled in #401 (fix/security-deps-python).
Removing from this PR to resolve conflict with dev.

Signed-off-by: Tanvir Farhad <tanvirfarhad007@gmail.com>
Signed-off-by: Tanvir Farhad <tamimtarafder12@gmail.com>
TFT444 added a commit that referenced this pull request Nov 1, 2026
Dependency lock updates are handled in #401 (fix/security-deps-python).
Removing from this PR to resolve conflict with dev.

Signed-off-by: Tanvir Farhad <tanvirfarhad007@gmail.com>
Signed-off-by: Tanvir Farhad <tamimtarafder12@gmail.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.

3 participants