Skip to content

deps: undici 7.30.1 / 8.12.3 and serialize-javascript 7.1.3 (Dependabot #73-#79) - #564

Merged
Nawid3333 merged 2 commits into
mainfrom
deps/undici-serialize-javascript
Oct 23, 2026
Merged

Nawid3333 merged 2 commits into
mainfrom
deps/undici-serialize-javascript

Conversation

@Nawid3333

Copy link
Copy Markdown
Owner

Why

The repository's Security tab showed 12 Dependabot alerts on 2026-10-24.

Alert Package Severity Comes through Fixed in
#78, #79 undici < 7.30.1, < 8.12.2 high (denial of service, unhandled error) cheerio (addons-linter, webdriverio); webdriver, geckodriver 7.30.1, 8.12.2
#76, #77 undici medium (denial of service, unbounded memory) same same
#74, #75 undici medium (Subresource Integrity bypass) same same
#73 serialize-javascript < 7.1.3 low (XSS via an unescaped </script>) mocha 12.0.3 7.1.3

The change

Every parent's range already allows the fixed version: cheerio ^7.19.0, webdriver and geckodriver ^8.11.2, mocha ^7.1.1. As with #30–#42 (where pnpm kept the locked versions even on pnpm update), the override floors in pnpm-workspace.yaml move up:

  • undici@7 to ^7.30.1;
  • a new undici@8: ^8.12.2;
  • serialize-javascript to ^7.1.3.

The lockfile changes only those three packages: undici 7.30.1 and 8.12.3, serialize-javascript 7.1.3.

Checked

Local: pnpm run lint, pnpm run typecheck and pnpm test (2897 passed, 6 skipped) pass, and pnpm audit reports no known vulnerabilities. The e2e suites, which run undici through WebdriverIO and geckodriver, run on this PR's CI.

🤖 Generated with Claude Code

Nawid3333 and others added 2 commits October 24, 2026 01:46
#73-#79)

Seven open Dependabot alerts on development dependencies, none shipped in the
extension: undici < 7.30.1 and < 8.12.2 (two high: denial of service; an
integrity bypass) through cheerio (addons-linter, webdriverio) and
webdriver/geckodriver, and serialize-javascript < 7.1.3 (low, XSS) through
mocha. Every parent's range allows the fix; as with #30-#42, the override
floors in pnpm-workspace.yaml move up (undici@7 ^7.30.1, a new undici@8
^8.12.2, serialize-javascript ^7.1.3). The lockfile changes only those three.

Local: lint, typecheck, pnpm test (2897 passed), pnpm audit: no known
vulnerabilities.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Nawid3333
Nawid3333 merged commit 201dcc7 into main Oct 23, 2026
22 checks passed
@Nawid3333
Nawid3333 deleted the deps/undici-serialize-javascript branch October 23, 2026 23:57
Nawid3333 added a commit that referenced this pull request Oct 24, 2026
An alert Dependabot cannot fix became an issue for the owner, and the fix
was made by hand (#564: override floors in pnpm-workspace.yaml, the
lockfile rewritten). security-alerts.yml now tries that fix itself where
a floor makes it, in three jobs:

- check plans the floors (tools/security-overrides.mjs: one per package
  and major the lockfile holds vulnerable, ^ the newest first patched
  version; declined, with the reason in the issue, when there is no
  patched version, the fix is a new major, the package is pnpm-patched,
  a parent-scoped or unreadable override governs it, or main has the
  floor already while the lockfile is still vulnerable). The alerts it
  takes stay out of the issues, out of both $new and $list.
- install has contents: read and no token: pnpm install
  --lockfile-only --ignore-scripts with the floors, then verify (every
  alert taken fixed, every floor holding, nothing else moved). pnpm
  saying no version fits demotes the alerts to issues; any other failure
  fails the run (a report issue), never silently.
- publish, the only writer, commits through the API on the planned main,
  keeps ONE rolling pull request on security/overrides, and starts CI
  and the dependency review on it. A pull request closed unmerged by
  hand hands its alerts back as issues; this workflow's own closes are
  marked closed-by-run.

update-prs.yml reports on it as the kind security (only those two
files, its dependency review must pass, no 3-day wait); ci.yml's
hand-off covers security/.

Replayed on the state before #564 with its seven alerts: the plan
writes the same four floors, pnpm writes the same lockfile (the order of
two keys in its overrides copy aside), verify passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nawid3333 added a commit that referenced this pull request Oct 24, 2026
…uest (#571)

* wip: security alerts try the override fix themselves

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* security alerts: try the override fix itself, on one rolling PR

An alert Dependabot cannot fix became an issue for the owner, and the fix
was made by hand (#564: override floors in pnpm-workspace.yaml, the
lockfile rewritten). security-alerts.yml now tries that fix itself where
a floor makes it, in three jobs:

- check plans the floors (tools/security-overrides.mjs: one per package
  and major the lockfile holds vulnerable, ^ the newest first patched
  version; declined, with the reason in the issue, when there is no
  patched version, the fix is a new major, the package is pnpm-patched,
  a parent-scoped or unreadable override governs it, or main has the
  floor already while the lockfile is still vulnerable). The alerts it
  takes stay out of the issues, out of both $new and $list.
- install has contents: read and no token: pnpm install
  --lockfile-only --ignore-scripts with the floors, then verify (every
  alert taken fixed, every floor holding, nothing else moved). pnpm
  saying no version fits demotes the alerts to issues; any other failure
  fails the run (a report issue), never silently.
- publish, the only writer, commits through the API on the planned main,
  keeps ONE rolling pull request on security/overrides, and starts CI
  and the dependency review on it. A pull request closed unmerged by
  hand hands its alerts back as issues; this workflow's own closes are
  marked closed-by-run.

update-prs.yml reports on it as the kind security (only those two
files, its dependency review must pass, no 3-day wait); ci.yml's
hand-off covers security/.

Replayed on the state before #564 with its seven alerts: the plan
writes the same four floors, pnpm writes the same lockfile (the order of
two keys in its overrides copy aside), verify passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* security alerts: fixes from the final review and CodeQL

- The demote step read plan.json's alerts with .[] (plan.json is an
  object): the first real demote would have died before raising any
  issue. .alerts[], and a test of the step (security-overrides-
  demote.test.sh) that fails with the old filter.
- A deterministic install failure demotes every alert the run took (no
  lockfile came out, so none publishes), not only those pnpm's log named.
- check and install both take the run's own commit; install no longer
  checks out a ref read from the artifact (CodeQL: untrusted checkout,
  cache poisoning) and refuses a plan made on another commit.
- A run that steps aside because main moved says so in its summary.
- A pull request closed by hand whose text lost its alerts marker is
  warned about, as its close then hands nothing back.
- The no-push case compares with the branch's own tree.
- The CLI dispatches through a table (CodeQL: user-controlled bypass).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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