Skip to content

fix(deps): bump tinypool and serialize-javascript to resolve Dependabot alerts - #163

Merged
mpbarnwell merged 2 commits into
mainfrom
fix/dependabot-tinypool-serialize-javascript
Nov 3, 2026
Merged

mpbarnwell merged 2 commits into
mainfrom
fix/dependabot-tinypool-serialize-javascript

Conversation

@mpbarnwell

@mpbarnwell mpbarnwell commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Summary

Resolves 3 of the 4 open Dependabot alerts, both criticals included.

Alert Package Severity Change
#147, #148 tinypool Critical 1.1.1 → 2.2.0 (new override)
#155 serialize-javascript Low 7.0.5 → 7.1.3 (override bumped)
#156 deepmerge Low Not fixed. No patched release exists (4.3.1 is the latest)

Also from npm audit:

  • qs 6.16.0 → 6.17.1 (override bumped). Fixes GHSA-6pq8-jhm2-2vcw.
  • joi 17.13.8 → 17.13.9 (npm audit fix, lockfile only)

Notes

  • tinypool: @docusaurus/core pins ^1.0.2, so the fix needs an override to 2.x. The only breaking change in 2.x is dropping Node 18, and Docusaurus 3.10 already requires Node >= 20 (CI uses 22). I checked the Tinypool constructor options and process.__tinypool_state__ that Docusaurus relies on; both are unchanged.
  • deepmerge arrives through @svgr/plugin-svgo and only runs at build time on our own SVGs, so the alert can be dismissed as "no fix available / not exploitable" until upstream ships a patch.
  • After this PR, npm audit shows 0 critical and 0 high findings. The remaining low and moderate findings are deepmerge and minimatch 3.x via serve-handler. The minimatch fix is a major bump, and those two account for all of the cascading @docusaurus/* entries.

Test plan

  • npm run build with DOCUSAURUS_SSG_WORKER_THREAD_COUNT=4, which forces the tinypool worker-pool SSG path
  • npm run typecheck
  • CI build

🤖 Generated with Claude Code

mpbarnwell and others added 2 commits November 3, 2026 09:21
…ot alerts

Resolves 3 of the 4 open Dependabot alerts, plus other advisories that
npm audit reports, by updating transitive dependencies:

- tinypool 1.1.1 -> 2.2.0 via a new npm override (@docusaurus/core pins
  ^1.0.2, so the fix is outside its range) — GHSA for Prototype Pollution
  to RCE in worker options and run() options (critical, alerts #147, #148).
  tinypool 2.x only drops Node 18, which Docusaurus 3.10 already requires
  (>=20). Verified with a multi-threaded SSG build.
- serialize-javascript 7.0.5 -> 7.1.3 (override bumped) — XSS via
  unescaped </script (alert #155)
- qs 6.16.0 -> 6.17.1 (override bumped) — GHSA-6pq8-jhm2-2vcw
- npm audit fix (non-breaking, lockfile only): shell-quote, proxy-addr,
  undici, body-parser, express, compression, follow-redirects, joi,
  image-size, svgo, brace-expansion, source-map-js, launch-editor,
  fast-uri and others

The deepmerge alert (GHSA-gcqx-w48m-w2h4, alert #156, low) has no
patched release; 4.3.1 is the latest version.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ol-serialize-javascript

# Conflicts:
#	package-lock.json
@mpbarnwell
mpbarnwell merged commit 023a039 into main Nov 3, 2026
2 checks passed
@mpbarnwell
mpbarnwell deleted the fix/dependabot-tinypool-serialize-javascript branch November 3, 2026 09:27
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