Repository navigation
fix(deps): clear the seroval script-injection advisories in the site lockfile - #2795
Merged
Merged
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
bashkit | 24c1297 | Commit Preview URL Branch Preview URL |
Oct 29 2026, 09:44 AM |
…lockfileNightly run 285 went red on `Advisory Audit`, and main would have followed on its next push: the scan reads every lockfile regardless of the diff, so an advisory against unchanged code reddens everything.Two moderate advisories against seroval 1.6.8, both published against code that has not changed here:- GHSA-9wx9-5pv9-3349, script injection through RegExp sources in serialized output (>=1.5.5 <1.6.10). - GHSA-f86p-h4j2-7qgj, code injection through a typed array's own constructor property (>=1.6.0 <1.6.11).seroval is transitive and pinned by its parent -- asciinema-player 3.17.0 -> solid-js 1.9.16 -> seroval -- so it moves as a `pnpm.overrides` floor, the same way zod and fast-uri did in #2773.Floored to `>=1.6.11 <1.7.0`, which resolves 1.6.12. Both advisories clear at 1.6.11, and holding the upper bound at the current minor keeps this a patch move on a serializer that solid-js uses for SSR hydration; 1.7.3 exists and satisfies solid-js's `^1.0` range, but nothing about clearing these advisories justifies a minor bump there. Matches the existing `sharp` floor's shape.The lockfile delta is the seroval entry and the three references to it, and nothing else; `pnpm install --lockfile-only` moved no other package, so there is no opportunistic re-resolution to carry.No suppression added, so deny.toml and the threat model's suppressed-advisory list are untouched. npm-only, so no supply-chain audit applies. No behaviour change in bashkit or on the site.Verified: the site advisory scan goes from the two findings above to "no known vulnerabilities found", and the other four pnpm lockfiles and the uv lockfile are clean. The site builds on seroval 1.6.12 -- 45 pages, all eleven postbuild verifications pass -- on Node 22.23.4, the version js.yml pins. 185/185 script tests, doc links, OKF and workflow parity all pass. No Cargo.lock changed.
chaliy
force-pushed
the
eve/clever-mccarthy-7ql8am
branch
from
October 29, 2026 09:44
2e4ac95 to
24c1297
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Two moderate advisories against
seroval1.6.8 in the site lockfile are cleared by flooring it to>=1.6.11 <1.7.0, which resolves 1.6.12.>=1.5.5 <1.6.10).>=1.6.0 <1.6.11).serovalis transitive and pinned by its parent —asciinema-player3.17.0 →solid-js1.9.16 →seroval— so it moves as apnpm.overridesfloor, the same wayzodandfast-uridid in #2773.No behaviour change in bashkit or on the site. No suppression added, so
deny.tomland the threat model's suppressed-advisory list are untouched; npm-only, so no supply-chain audit applies.Why
Nightly run 285 went red on
Advisory Audit, and main would have followed on its next push. The scan reads every lockfile regardless of the diff, so an advisory published against code that has not changed reddens everything.Advisory Auditwas the only failing job in that run — Miri, AddressSanitizer and Security Analysis all passed, and the site lockfile was the only failing lockfile in the scan.Before / After
Before, on main:
After, on this branch:
CI's own
Auditjob — the samescripts/audit-lockfiles.shthe nightlyadvisoriesjob runs — passes on this branch, which is the direct check.The other four pnpm lockfiles and the uv lockfile are clean on this branch (
crates/bashkit-js,examples/bashkit-pi,examples/browser,examples,examples/docs-grep-agent/uv.lock), matching the nightly log. NoCargo.lockchanged, and the nightly run showed the cargo half passing with only its two allowed warnings (atomic-polyfillunmaintained,crypto-bigintyanked).serovalis the serializer solid-js uses for SSR hydration, so the site was built rather than argued. On Node 22.23.4 — the versionjs.ymlpins — withseroval@1.6.12installed:The Cloudflare Workers preview also deployed successfully. Also 185/185 script tests,
just check-doc-links,just check-okf,just check-workflow-parity,just check-capability-parityandjust check-changelogpass.The lockfile delta is the
serovalentry and the three references to it, and nothing else —pnpm install --lockfile-onlymoved no other package, so there is no opportunistic re-resolution to carry.Risk
serovalreaches no published bashkit artifact.^1.0range, but nothing about clearing these advisories justifies a minor bump there, so the floor's shape matches the existingsharpentry.Checklist
scripts/audit-lockfiles.sh, run by both CIauditand nightlyadvisories) is the regression test for this class, and it was failing before this change and passes after