Skip to content

chore(security): patch 2 Dependabot alerts - #1839

Merged
Tonours merged 1 commit into
mainfrom
security/2026-08-20
Aug 20, 2026
Merged

chore(security): patch 2 Dependabot alerts#1839
Tonours merged 1 commit into
mainfrom
security/2026-08-20

Conversation

@PMerlet

@PMerlet PMerlet commented Aug 20, 2026

Copy link
Copy Markdown
Member

👋 First-level support: see Handling automated security PRs for how to triage and merge this PR.

Summary

2 fixed, 2 ignored, 0 deferred, 7 resolutions added, 5 resolutions removed, 0 could-not-auto-fix. | label: 🔒 security applied

Fixed

Done Alert Package Ecosystem From → To Severity What was bumped
- [x] #466 js-yaml (4.x) npm 4.3.0 → 4.3.1 high Scoped resolutions on 4.x parents (lerna, cosmiconfig, eslint, @eslint/eslintrc, @semrel-extra/topo) pinning js-yaml to ^4.3.1
- [x] #467 js-yaml (3.x) npm 3.15.0 → 3.15.1 high Scoped resolutions on 3.x parents (@oclif/core, @istanbuljs/load-nyc-config) pinning js-yaml to ^3.15.1

Ignored

Dismissed Alert Package Reason
- [x] #474 image-size No upstream patch exists yet — first_patched_version is null for the JXL/HEIF infinite-loop advisory.
- [x] #475 image-size No upstream patch exists yet — first_patched_version is null for the ICNS infinite-loop advisory.

Deferred

None. All open alerts were >=7 days old on 2026-08-20 (created 2026-08-07 and 2026-08-10).

Resolutions added

Alert Package + pinned range Parent chain tried Why bump wasn't viable Form used
#466 js-yaml ^4.3.1 under lerna, cosmiconfig, eslint, @eslint/eslintrc, @semrel-extra/topo Direct-parent bumps considered for each 4.x consumer Multiple independent 4.x consumers (5 separate top-level packages). Every parent's own version already pins js-yaml@^4.1.0 — no ancestor bump would raise the resolved sub-dep to 4.3.1. The existing **/lerna/js-yaml: ^4.2.0 needed updating too. Scoped (per-parent)
#467 js-yaml ^3.15.1 under @oclif/core (nested in forest-cli) and @istanbuljs/load-nyc-config (nested under Jest's instrumentation chain) Bumping the parents would require a major upgrade of forest-cli/@oclif/core (touches API surface) and re-tagging the Jest instrumentation chain (owned upstream). Neither is worth the blast radius for a patch fix. 3.x parents pin ^3.13.1 / ^3.14.1, both compatible with ^3.15.1. Scoped (per-parent)

Resolutions removed

Package + version that was pinned Reason
**/socks/ip-address: ^10.3.1 Redundant — natural resolution ip-address@10.5.0 satisfies ^10.3.1 (socks' parent chain now resolves 10.5.0 without help).
**/ajv/fast-uri: ^3.1.5 Redundant — natural resolution fast-uri@3.1.5 still satisfies ^3.1.5 (top-level fast-uri has moved to 3.1.5).
**/@modelcontextprotocol/sdk/hono: ^4.12.34 Redundant — natural resolution hono@4.13.3 satisfies ^4.12.34.
@modelcontextprotocol/sdk: ^1.30.0 Redundant — natural resolution @modelcontextprotocol/sdk@1.30.0 satisfies ^1.30.0.
**/@hono/node-server: ^2.0.5 Redundant — natural resolution @hono/node-server@2.1.1 satisfies ^2.0.5.

Could not auto-fix

None.

Risks

  • js-yaml 4.3.0 → 4.3.1 — patch release; per upstream changelog only contains the !!omap quadratic-CPU fix (CVE-2026-59870). No API changes. No behavior change beyond the patched vuln.
  • js-yaml 3.15.0 → 3.15.1 — patch release; only contains the !!omap fix backport to the 3.x line. No API changes.
  • Resolution scope — the 4.x pins are per-parent, so each 4.x consumer must still resolve js-yaml from within the ^4.1.0 bound its own manifest declares. Compatibility verified via yarn install --ignore-scripts (installs cleanly).

Manual testing

Covered by CI. The vulnerable API path (!!omap YAML tag resolution) is only exercised by the linked parent tools during their normal load — full CI exercises the toolchain end-to-end.

Validation

✅ CI green (Actions + commit statuses; app-based checks not monitored)

Fixes js-yaml transitive vulnerabilities (GHSA CVE-2026-59870) by
pinning 4.x consumers to ^4.3.1 and 3.x consumers to ^3.15.1 via
scoped resolutions.

Also removes 5 resolutions that are now redundant (natural resolution
already satisfies the pin).

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

qltysh Bot commented Aug 20, 2026

Copy link
Copy Markdown

Qlty


Coverage Impact

This PR will not change total coverage.

🚦 See full report on Qlty Cloud »

🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

@Tonours
Tonours merged commit 8e14caa into main Aug 20, 2026
37 of 38 checks passed
@Tonours
Tonours deleted the security/2026-08-20 branch August 20, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants