fix(deps): bump black >=24.0 → >=26.3.1 (CVE-2026-32274)#129
Conversation
Black <26.3.1 writes cache files to attacker-controlled paths when the --python-cell-magics CLI option is passed with untrusted input. This is a dev-only dependency with low exploitability in CI, but bumping to the patched version is the correct fix. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
🔒 Security Analysis ReportSecurity Analysis ReportGenerated: Wed Apr 1 16:26:08 UTC 2026 Bandit Security ScanSafety Check ResultsPip-Audit Results |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2f734d1a30
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "pytest-mock>=3.14", | ||
| "pytest-asyncio>=1.0", | ||
| "black>=24.0", | ||
| "black>=26.3.1", |
There was a problem hiding this comment.
Synchronize Black minimum across dependency manifests
Updating black to >=26.3.1 only in pyproject.toml leaves the alternate dev-install path on the old floor (requirements-dev.txt still has black>=23.7), and this path is actively documented/used (for example docs/CLAUDE_HOOKS_SETUP.md:103, docs/PYTHON313_SUPPORT.md:51, and scripts/update_dependencies.py:69). In environments that install with pip install -r requirements-dev.txt, the resolver can still pick vulnerable black<26.3.1, so this CVE remediation is incomplete unless the same minimum is applied to the requirements/constraints flow as well.
Useful? React with 👍 / 👎.
Documents PRs #127 (sigstore @v3.3.0), #128 (skip-existing PyPI), and #129 (black CVE-2026-32274) under a new [1.0.1] section. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documents PRs #127 (sigstore @v3.3.0), #128 (skip-existing PyPI), and #129 (black CVE-2026-32274) under a new [1.0.1] section. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
black <26.3.1has CVE-2026-32274: the--python-cell-magicsoption value is placed in the cache filename without sanitization, allowing arbitrary file system writes if untrusted input is passed to that flag>=24.0to>=26.3.1Test plan
pip-auditshows no remaining vulnerabilities for project dependencies🤖 Generated with Claude Code