Skip to content

fix(deps): patch vulnerable re2js and selector parser - #61

Merged
ecv merged 1 commit into
mainfrom
fix/transitive-advisories
Nov 10, 2026
Merged

ecv merged 1 commit into
mainfrom
fix/transitive-advisories

Conversation

@ecv

@ecv ecv commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

The site's lint and Tailwind tooling pulled in two packages open to denial of service: re2js (high) and postcss-selector-parser (medium). A crafted pattern or selector could pin a CPU on a developer machine or CI runner. This change forces the patched versions under those two parents only, clearing two of the four open Dependabot alerts with no change to the built site.

Package Advisory Before After Fix published
re2js GHSA-gg6h-894w-4m9c 2.8.6 2.8.7 2026-10-17
postcss-selector-parser GHSA-rj75-hqrm-r3gf 6.0.10 6.1.5 2026-10-19

Left open

Package Advisory Current Why
minimatch GHSA-g3hv-75wg-m249 10.2.6 The fix exists only in 11.x. ESLint and typescript-eslint still accept only 10.x, even at their latest releases.
katex GHSA-238p-pmpm-9mq7 0.16.47 The fix is 0.18.2. The markdown math extension still accepts only 0.16.x, even at its latest release.

Details

These are vulnerability fixes, so they skip the 7-day publish wait.

Both parents pin an exact vulnerable version, so an in-range refresh could not move them. Each override is scoped to its parent, not global. The selector parser stays on the 6.x line the Tailwind plugin expects, and its 7.x copies elsewhere are already past that line's fix. The lock file changes only these two entries.

Install, lint and build pass locally on Node 24. CI runs Node 26.

Note

This overlaps #46 and #48, which also add a dependency override block in the same place. Whichever merges second needs a small merge of that block.

The lint and Tailwind toolchains pinned re2js 2.8.6 and
postcss-selector-parser 6.0.10, both open to CPU-exhaustion denial of
service (GHSA-gg6h-894w-4m9c, GHSA-rj75-hqrm-r3gf). Their parents pin
exact versions, so an in-range refresh cannot move them.

Key changes:
- Override re2js to 2.8.7 under markdownlint only
- Override postcss-selector-parser to 6.1.5 under @tailwindcss/typography
  only, staying in the 6.x major it expects

minimatch and katex stay open: their fixes need a major (minimatch 11,
katex 0.18) that no released parent accepts yet.
@ecv
ecv requested a review from andrewb3000 November 10, 2026 12:23
@ecv
ecv merged commit a1a2f62 into main Nov 10, 2026
2 checks passed
@ecv
ecv deleted the fix/transitive-advisories branch November 10, 2026 12:29
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.

2 participants