Skip to content

fix(deps): patch Pillow, pytest, vite, esbuild — closes 14 security alerts#23

Merged
codexofc merged 1 commit into
mainfrom
chore/security-bumps
May 25, 2026
Merged

fix(deps): patch Pillow, pytest, vite, esbuild — closes 14 security alerts#23
codexofc merged 1 commit into
mainfrom
chore/security-bumps

Conversation

@codexofc
Copy link
Copy Markdown
Owner

Summary

Closes 14 of the 15 Dependabot security alerts in one coordinated bump:

Ecosystem Package Before → After Alerts closed
pip pillow >=11.0,<12>=12.2,<13 11 (PSD OOB, FITS GZIP, integer overflows, PDF DoS)
pip pytest >=8.0,<9>=9.0.3,<10 1 (tmpdir handling)
pip pytest-asyncio >=0.23,<1>=1.0,<2 (needed for pytest 9)
npm vite ^5.4.10^6.4.2 1 (optimised-deps path traversal)
npm vitest ^2.1.4^3.2.4 (needed for vite 6)
npm esbuild overrides >=0.25.0 1 (dev-server request reading)

Dismissed (not-affected)

transformers — Trainer arbitrary code execution. We only use SentenceTransformer for inference-time embedding; Trainer is never imported or instantiated. Verified by grep across src/ and tests/.

Vite config note

Vite 6 tightened the default build target. Pinned build.target = 'es2022' in vite.config.ts to keep esbuild happy with modern destructuring syntax used by some deps. Also referenced vitest/config types for the test block (vite 6 narrowed its config typings).

Verification

  • uv lock + uv sync: 138 packages resolved cleanly.
  • pytest: 328 passed, 2 skipped (gluetun VPN smoke).
  • npm install + npm audit: 0 vulnerabilities.
  • vite build: 426 KB JS / 134 KB gzip.

…lerts

Bumps:

* pillow >=11.0,<12  →  >=12.2,<13
  Closes 8 Pillow CVEs: PSD OOB write, PSD tile-extent integer overflow,
  FITS GZIP decompression bomb, integer overflow on fonts, heap buffer
  overflow on nested-list coordinates, PDF parsing infinite loop.

* pytest >=8.0,<9  →  >=9.0.3,<10
  Closes the pytest tmpdir handling CVE.

* pytest-asyncio >=0.23,<1  →  >=1.0,<2
  Required to resolve with pytest 9.

* vite >=5.4.10  →  >=6.4.2
  Closes the vite optimised-deps .map path-traversal CVE (dev server).

* vitest 2.1.4  →  3.2.4
  Required to resolve with vite 6; also closes the vitest/vite-node
  transitive CVEs.

* esbuild  forced  >=0.25.0  (via npm overrides)
  Closes the esbuild dev-server request-reading CVE (transitive via
  vite tooling).

* vite.config.ts: pin build.target = 'es2022' to keep esbuild happy
  with modern destructuring syntax in dependencies, and reference
  vitest/config for typed test block.

Verification:

* uv lock + uv sync: 138 packages resolved cleanly.
* pytest: 328 passed, 2 skipped (gluetun VPN smoke).
* npm install + npm audit: 0 vulnerabilities.
* vite build: 426 KB JS / 134 KB gzip.

Note: the HuggingFace Transformers Trainer CVE alert was dismissed
as not-affected — we use SentenceTransformer for inference-time
embedding, never Trainer.
@codexofc codexofc merged commit abb42a0 into main May 25, 2026
2 of 4 checks passed
@codexofc codexofc deleted the chore/security-bumps branch May 25, 2026 19:45
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