Skip to content

Fix pip-audit failures on main (filelock, virtualenv, certifi) - #329

Merged
amrit110 merged 2 commits into
mainfrom
deps/filelock-4.2.1
Oct 25, 2026
Merged

amrit110 merged 2 commits into
mainfrom
deps/filelock-4.2.1

Conversation

@amrit110

@amrit110 amrit110 commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Why

Code checks on main started failing after #327 merged. pip-audit now reports six filelock CVEs (CVE-2026-112906, 112907, 112913, 112914, 112937, 112940). They are fixed only in filelock 4.2.1+, and those releases require Python 3.11+. #327 did not cause this; the advisories are new.

A clean local audit also found certifi PYSEC-2026-4320 and, on Python 3.10, virtualenv CVE-2026-113717/113718/113720.

Changes

  • uv.lock (only these packages change; vllm, sglang and torch are untouched):
    • filelock 3.25.2 to 4.2.4 on Python 3.11+, and 4.1.0 on 3.10 (the newest that installs there). This forks the lock by Python version, so the lock gains some resolution markers.
    • certifi 2026.2.25 to 2026.10.23
    • virtualenv 21.7.13 to 21.14.13 (supersedes Dependabot Bump virtualenv from 21.7.13 to 21.14.13 #326), plus distlib 0.4.4, packaging 26.3, typing-extensions 4.16.0 where needed
  • pyproject.toml: add virtualenv>=21.14.9 to constraint-dependencies. Without it uv keeps virtualenv 21.14.5 in the Python 3.10 part of the lock.
  • code_checks.yml: ignore the six filelock CVEs. That job runs on Python 3.10 (.python-version), where no fixed filelock exists. The comment says to remove the ignore once 3.10 support is dropped.

The Docker images use Python 3.12, so they get filelock 4.2.4.

Note on what CI checks

The code-check, unit-test and docs workflows run uv sync --dev --prerelease=allow with uv 0.5.21. That makes uv ignore uv.lock and resolve from scratch, on main as well as here. So in CI it is the new ignore list that turns code checks green; the uv.lock changes take effect in the Docker images (uv export --frozen) and in local uv sync. A follow-up should switch those jobs to the lock (--frozen or --locked, without --prerelease=allow) so CI tests what ships.

Verification (local)

  • Unit tests: 234 passed on Python 3.10, 3.11 and 3.12
  • pip-audit: no known vulnerabilities on 3.11 and 3.12; on 3.10 none apart from the six ignored filelock CVEs
  • pre-commit: all hooks pass
  • Lock written with uv 0.13.5 (uv lock --check clean). The Python 3.12 vllm and sglang exports differ from main only in certifi, distlib, filelock, packaging, typing-extensions and virtualenv
  • uv export --extra vllm / --extra sglang for Python 3.12: filelock 4.2.4, torch 2.11.0 unchanged

Main's code checks started failing on six new filelock CVEs
(CVE-2026-112906/112907/112913/112914/112937/112940), fixed only in
filelock 4.2.1+, which requires Python 3.11+.

- uv.lock: filelock 4.2.4 on Python 3.11+ (4.1.0 stays on 3.10),
  certifi 2026.10.23 (PYSEC-2026-4320), virtualenv 21.14.13
  (CVE-2026-113717/113718/113720), plus distlib, packaging and
  typing-extensions as needed.
- pyproject: constrain virtualenv>=21.14.9, otherwise uv keeps 21.14.5 in
  the Python 3.10 fork of the lock.
- code_checks: ignore the six filelock CVEs, because that job audits a
  Python 3.10 environment where no fixed filelock exists.
The previous commit's lock was written by uv 0.5.25 (old lock format, no
upload-time, placeholder markers), which rewrote the whole file. Same
package versions, relocked from main with uv 0.13.5.
@amrit110
amrit110 merged commit 6785303 into main Oct 25, 2026
9 checks passed
@amrit110
amrit110 deleted the deps/filelock-4.2.1 branch October 25, 2026 13:13
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