Skip to content

fix(deps): raise the brace-expansion and fast-uri floors to today's fixes - #71

Merged
msalvatti merged 2 commits into
mainfrom
fix/advisory-floors
Aug 3, 2026
Merged

fix(deps): raise the brace-expansion and fast-uri floors to today's fixes#71
msalvatti merged 2 commits into
mainfrom
fix/advisory-floors

Conversation

@msalvatti

Copy link
Copy Markdown
Member

Two advisories, both landing today

fast-uri < 3.1.5 — high, and brace-expansion — a DoS via unbounded intermediate arrays that bypasses the mitigation for the previous one, so the floors I set a few hours ago are already below it:

package previous floor new fix
fast-uri ^3.1.4 3.1.5
brace-expansion@1 ^1.1.17 1.1.18
brace-expansion@2 ^2.1.3 2.1.4
brace-expansion@5 ^5.0.8 5.0.9

The caret ranges would have picked the fixes up on the next install, but the lockfile is what the scanners read, so the floors are raised and the lockfile regenerated. Verified: no vulnerable version resolves any more.

Where the override lives

This repository's packageManager decides that, and getting it wrong is silent. On pnpm 11 the pnpm field of package.json is ignored outright, with no warning — an override placed there does nothing and pnpm install still reports "Already up to date". I hit exactly that earlier today in nest-queue, whose workspace file documents the trap at the top of its overrides block.

Seven of the nine libraries pin pnpm@10.8.1, where the field is honoured; nest-queue and nest-realtime are on pnpm@11, where the overrides belong in pnpm-workspace.yaml. Each repository is edited in the place its own toolchain reads, and the lockfile confirms the result rather than the placement being assumed.

Verification

Full gate chain green: typecheck · lint · coverage at 100% · build · size.

Nothing ships either way — these are development transitives, and the packages declare no runtime dependencies.

Copilot AI review requested due to automatic review settings August 3, 2026 20:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates pnpm overrides and the lockfile to ensure vulnerable transitive dev dependencies resolve to patched versions, aligning with the repo’s “override placement matters” approach for pnpm 11.

Changes:

  • Raised the fast-uri override floor to ^3.1.5.
  • Added major-scoped overrides for brace-expansion and undici to pin each major line to its patched floor.
  • Regenerated pnpm-lock.yaml to reflect the new override resolutions.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.

File Description
pnpm-workspace.yaml Adjusts/extends the workspace-level overrides used by pnpm 11 to enforce patched transitive versions.
pnpm-lock.yaml Regenerated lockfile reflecting new override resolutions (fast-uri/brace-expansion/undici).
package.json Normalizes the description string encoding (no functional behavior change).
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

Comment thread pnpm-workspace.yaml Outdated
…ixes

`fast-uri` gained a high-severity advisory fixed in 3.1.5, and `brace-expansion` a
DoS via unbounded intermediate arrays that bypasses the mitigation for the
previous one — so the floor set earlier today is already below it, the fix being
5.0.9.

The caret ranges would have picked both up on the next install, but the lockfile
is what the scanners read, so the floors move and the lockfile is regenerated.
This repository runs pnpm 11, where the `pnpm` field of package.json is ignored,
so the overrides live in the workspace file.
Copilot AI review requested due to automatic review settings August 3, 2026 20:36
@msalvatti
msalvatti force-pushed the fix/advisory-floors branch from 50bce00 to 79f25a1 Compare August 3, 2026 20:36
Unscoped, it would force a 1.x or 2.x transitive onto the 5.x line, whose API
minimatch cannot use. Each major now carries its own fix for the DoS that
bypasses the earlier mitigation — 1.1.18, 2.1.4 and 5.0.9 — matching how the
js-yaml and undici pairs in this file are already handled.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 2 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Generated file
Suppressed comments (1)

pnpm-workspace.yaml:33

  • The PR description calls out raising floors for brace-expansion majors 1, 2, and 5, but the workspace override is unscoped and only sets a single range (^5.0.9). If the intent is to track the advisory fixes per-major (like js-yaml and undici below), the override should be scoped by major; otherwise the PR description should be adjusted.
  # Scoped per major, like the js-yaml and undici pairs: unscoped, a 1.x or 2.x

Copilot AI review requested due to automatic review settings August 3, 2026 20:38
@msalvatti
msalvatti merged commit c59565f into main Aug 3, 2026
18 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 2 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

@msalvatti
msalvatti deleted the fix/advisory-floors branch August 3, 2026 20:40
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.

2 participants