Skip to content

chore(deps): bump js-yaml to 4.3.1 in /docs for the quadratic-omap advisory - #435

Merged
FelixKrueger merged 1 commit into
devfrom
chore/js-yaml-4.3.1-advisory
Aug 14, 2026
Merged

chore(deps): bump js-yaml to 4.3.1 in /docs for the quadratic-omap advisory#435
FelixKrueger merged 1 commit into
devfrom
chore/js-yaml-4.3.1-advisory

Conversation

@FelixKrueger

Copy link
Copy Markdown
Owner

Bumps the docs site's transitive js-yaml from 4.3.0 to 4.3.1, which is still inside the range of the high-severity quadratic-CPU advisory: 4.3.0 fixed the merge-key-chain variant, and 4.3.1 backports the same guard to !!omap duplicate-key resolution. Three hand-edited lockfile lines; npm ci reports 0 vulnerabilities and npm run build produces all 31 pages.

Dependabot's own PR (#427) targets master, which only ever fast-forwards from dev, so merging it there would break the next FF — same shape as #425/#430. postcss (#431) needs nothing: dev is already at 8.5.23, the patched version for both open postcss advisories.

AI-assisted detail

Why only one of ten alerts is real. Dependabot scans the default branch, and master is a release pin 70 commits behind dev. Comparing every open alert's patched version against dev's resolved versions:

package on dev patched verdict
js-yaml 4.3.0 4.3.1 still vulnerable
postcss 8.5.23 8.5.23 already fixed
nanoid 3.3.18 3.3.16 already fixed (#430)
sharp 0.35.3 0.35.0 already fixed
svgo 4.0.2 4.0.2 already fixed
astro 7.2.0 7.0.6 already fixed

The other nine clear on their own at the next release fast-forward.

Why hand-edited. npm install js-yaml@4.3.1 also adds the package to package.json as a direct dependency and strips "libc" platform metadata from optional entries; npm update strips the same. Only the node_modules/js-yaml entry's three lines change here — no requirement ranges, since 4.3.1 satisfies both the ^4.3.0 and ^4.1.1 declarations upstream packages carry.

Exposure. js-yaml is a build-time dependency of the Astro docs site, parsing our own frontmatter, so the advisory needs adversarial YAML from someone who can already commit. The reason to take it is that a high-severity alert sitting open on a public repo invites questions and the fix is one line — not that the risk is material.

…427)

js-yaml 4.3.0 is still in the vulnerable range of the high-severity
quadratic-CPU advisory: 4.3.0 fixed the merge-key chain variant, and 4.3.1
backports the same guard to `!!omap` duplicate-key resolution. Exposure here is
a build-time parse of our own frontmatter, so the practical risk is limited to
someone who can already commit — the bump is one line and closes a high alert on
a public repo.

Dependabot's own PR targeted `master`, which only fast-forwards from `dev`, so a
commit there would break the next FF. The three lines are hand-edited rather
than installed: `npm install js-yaml@4.3.1` promotes it to a direct dependency in
package.json and strips `"libc"` platform metadata from optional entries, and
`npm update` strips the same. Validated with `npm ci` (0 vulnerabilities) and a
full `npm run build` (31 pages).

postcss needs nothing: `dev` is at 8.5.23, which is the patched version for both
open postcss advisories. Nine of the ten open Dependabot alerts describe
`master`'s lockfile, not `dev`'s, and clear at the next release fast-forward.
@FelixKrueger FelixKrueger added the dependencies Pull requests that update a dependency (cargo, github-actions) label Aug 14, 2026
@FelixKrueger
FelixKrueger merged commit 63f5d44 into dev Aug 14, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency (cargo, github-actions)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant