Repository navigation
chore(deps): override katex to patched version (alert #81) - #55
Conversation
micromark-extension-math 3.1.0 still requires katex ^0.16.0, including through markdownlint-cli2 0.23.3, so pin the patched release with an npm override instead of downgrading the linter. Co-authored-by: Vatsal Sanjay | CoMPhy Lab <vatsal.sanjay@comphy-lab.org>
|
comphy-bot review status for Review completed for this exact pull request head. |
comphy-bot
left a comment
There was a problem hiding this comment.
Review: KaTeX security override
Reviewed exact head e879ae0b663b7efc04047d8b490c779db3aa6416: +9/-8 across package.json and package-lock.json.
No P0/P1 findings. The exact KaTeX override and lockfile resolution agree on 0.19.0; the lockfile also updates its nested commander dependency consistently. The override deliberately crosses the upstream transitive version range, so compatibility evidence matters. The reported clean install, Markdown lint and test results are consistent with the successful exact-head build check; I did not independently execute PR code or reproduce those commands.
Verification: reviewed both patches, dependency/runtime implications, current peer threads (no findings), successful build status, and the shared conflict-marker/whitespace checks. The deploy check is skipped. The new nested commander engine requirement is Node >=22.12.0; the reported validation used Node 22.23.3. No executable application logic changes or new behavioral test cases are required for this pin.
Description
Dependabot alert #81 reports low-severity prototype-pollution trust bypass in dev-scoped
katex(GHSA-238p-pmpm-9mq7, affected versions below 0.18.2). Dependabot cannot open a clean security update:markdownlint-cli20.20.0 pullsmicromark-extension-math3.1.0, which requireskatex@^0.16.0, and that range still excludes every patched release. The newestmarkdownlint-cli2(0.23.3) andmarkdownlint(0.41.1) still pinmicromark-extension-math3.1.0, and that package's latest release is still 3.1.0, so a linter upgrade would not admitkatex>= 0.18.2. This pins patched KaTeX with an npm override.Type of Change
Dependency-only security pin for transitive devDependency
katex.Changes Made
overrides.katex=0.19.0inpackage.json.0.18.11is the last 0.18.x and is deprecated by upstream ("Accidentally published with breaking changes. Use 0.19.0 instead.").0.19.0includes the 0.18.2 fix.package-lock.jsonso the resolvedkatexis 0.19.0 (and its nestedcommander15.0.0).markdownlint-cli2stays at 0.20.0.Testing Done
Tested locally using
bundle exec jekyll serveChecked all links and references
Verified content formatting
Cross-browser testing (if UI changes)
npm ci --no-fund --no-audit --ignore-scriptssucceeded on Node 22.23.3 / npm 10.9.9.npm auditno longer listskatex(remaining findings are pre-existing and out of scope, includingpostcss-selector-parserandsource-map-js).npm run lint:mdpassed (markdownlint-cli2 v0.20.0, 10 files, 0 errors) with installedkatex0.19.0.npm testpassed (11/11).bundle exec jekyll buildsucceeded (Ruby 3.2.3).Screenshots
Related Issues
Dependabot alert #81 (katex). Does not close PRs #49 or #50.
Checklist
Additional Notes
node_modules/is vendored in this repo and CI rejects pull requests that change it, so the committed tree still containskatex0.16.27 until the next install. CI runsnpm ci, which applies the override.0.19.0changes strict-mode handling for missing character metrics; markdown lint completed with zero errors against the site's Markdown.