fix(deps): bump pytest to >=9,<10 (CVE-2025-71176)#123
Conversation
pip-audit on main flagged pytest 8.4.2 for CVE-2025-71176 — predictable /tmp/pytest-of-{user} directory allows local DoS / privilege escalation on UNIX. Fix is in pytest 9.0.3. Dev-only dep; zero risk to SDK users. Affects developers running the test suite on shared UNIX systems. Notes: - uv.lock on main was already at pytest 9.0.3 + pytest-asyncio 1.3.0 (cascaded from #119's pytest-asyncio bump), so this commit only realigns pyproject.toml with the lockfile. - Local full suite: 1607 passed, 51 warnings. mypy strict + ruff clean. - Integration suite has 11 pre-existing failures unrelated to this bump (verified by running tests/integration/ against plain main with pytest 8.4.2 — same 11 failures). Tracked in a separate follow-up issue covering integration-test health overall. - pip-audit also surfaced cryptography CVE-2026-26007 + CVE-2026-34073 (both fixed in 46.0+); pin already allows up to <49 so the floating lockfile picks up 48.0.0 with no pyproject change needed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Code ReviewOverviewThis is a single-line dependency bump in Code Quality & Style ✅
Correctness ✅
Security ✅
Test Coverage ✅
Performance ✅
Suggestions / Minor Notes
VerdictApprove. Correct, minimal, well-justified security fix. The description is unusually thorough for a one-liner — appreciated. Ready to merge. |
Summary
pip-audit on main flagged
pytest 8.4.2for CVE-2025-71176 — predictable/tmp/pytest-of-{user}directory enables local DoS / privilege escalation on UNIX. Fix is inpytest 9.0.3.Dev-only dep; zero risk to SDK users. Affects developers running the suite on shared UNIX systems.
Notes
uv.lockon main already hadpytest 9.0.3+pytest-asyncio 1.3.0resolved (cascaded from chore(deps-dev): update pytest-asyncio requirement from <1,>=0.24 to >=0.24,<2 #119's pytest-asyncio bump), so this commit only realignspyproject.tomlwith the lockfile.cryptographyCVE-2026-26007 + CVE-2026-34073 also surfaced by pip-audit; the existing>=43,<49pin already permits the fixed 46.0+ range and the floating lockfile picks up 48.0.0 — no pyproject change needed for those.Test plan
uv run pytest tests/ --ignore=tests/integration -q→ 1607 passed, 51 warningsuv run ruff check .cleanuv run mypy kalshi/clean (76 source files, strict)uv run --with pip-audit pip-audit→ No known vulnerabilities