Skip to content

fix(deps): pin js-yaml to the GHSA-2883-xcg3-v3hh patched releases - #23

Merged
acamarata merged 1 commit into
mainfrom
fix/js-yaml-ghsa-2883
Sep 14, 2026
Merged

acamarata merged 1 commit into
mainfrom
fix/js-yaml-ghsa-2883

Conversation

@acamarata

Copy link
Copy Markdown
Contributor

Problem

Dependency Audit on main has failed since 2026-09-08 (run 34827360640):

6 vulnerabilities found
Severity: 2 moderate | 4 high (2 ignored)
##[error]Process completed with exit code 1

The two actionable high findings are both GHSA-2883-xcg3-v3hhjs-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources, published 2026-09-08.

advisory range first patched this repo pinned
>= 3.0.0, < 3.15.2 3.15.2 3.15.1
>= 4.0.0, < 4.3.2 4.3.2 4.3.1

Both overrides sat exactly one patch below the fix. js-yaml is only ever transitive here — 962 paths through metrocosmiconfig, 32 through @expo/cli@expo/xcpretty — so pnpm.overrides is the only place it can be fixed.

Change

-      "js-yaml@3": "3.15.1",
-      "js-yaml@4": "4.3.1",
+      "js-yaml@3": "3.15.2",
+      "js-yaml@4": "4.3.2",

Verification

Reproduced the workflow exactly (@nself stubs, pnpm install --no-frozen-lockfile, pnpm audit --audit-level=high):

EXIT=0
4 vulnerabilities found
Severity: 2 moderate | 2 high (2 ignored)

Store resolves js-yaml@3.15.2 and js-yaml@4.3.2.

The two ignored advisories are untouched and still unfixed upstream

auditConfig.ignoreCves is unchanged. Re-checked both today:

advisory package vulnerable first patched
GHSA-w3rx-r6r6-pgpr image-size <= 2.0.2 NONE
GHSA-5p2g-fcmc-qvqq image-size <= 2.0.2 NONE

image-size@2.0.2 is still npm latest, so there is no published fix to take. Nothing was added to the ignore list in this PR.

The Dependency Audit gate on main has failed since the advisory published
on 2026-09-08 (run 34827360640: 'Severity: 2 moderate | 4 high (2 ignored)',
exit 1).

GHSA-2883-xcg3-v3hh (high, js-yaml maxTotalMergeKeys does not limit CPU use
for empty merge sources) names 3.15.2 and 4.3.2 as the first patched
releases. Both overrides sat exactly one patch below: 3.15.1 and 4.3.1.
js-yaml reaches this tree only transitively, through metro/cosmiconfig
(962 paths) and @expo/cli/@expo/xcpretty (32 paths), so the overrides are
the only place to fix it.

Verified locally by reproducing the workflow exactly (@nself stubs, pnpm
install --no-frozen-lockfile, pnpm audit --audit-level=high): exit 0,
'2 moderate | 2 high (2 ignored)', with js-yaml@3.15.2 and js-yaml@4.3.2
resolved in the store.

The two remaining ignored advisories are unchanged and still have no fix:
GHSA-w3rx-r6r6-pgpr and GHSA-5p2g-fcmc-qvqq (image-size) both report
first_patched_version NONE against <= 2.0.2, which is still npm latest.
@acamarata
acamarata merged commit 27b51e8 into main Sep 14, 2026
3 checks passed
@acamarata
acamarata deleted the fix/js-yaml-ghsa-2883 branch September 14, 2026 11:26
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