Skip to content

fix(deps): override browserslist to 4.28.7+ (GHSA-c83g-rgw3-j3cx) - #170

Merged
acamarata merged 1 commit into
mainfrom
fix/browserslist-ghsa-c83g-rgw3-j3cx
Sep 1, 2026
Merged

acamarata merged 1 commit into
mainfrom
fix/browserslist-ghsa-c83g-rgw3-j3cx

Conversation

@acamarata

Copy link
Copy Markdown
Collaborator

Summary

  • Two newly published HIGH advisories against browserslist <= 4.28.6 (unbounded memory growth from an unevicted query-result cache, plus a crash/prototype-write via untrusted browserslist-stats.json), patched in 4.28.7. Reached transitively via babel; overridden at the workspace root.
  • The gitignored packages/ clone (nself-org/packages, refreshed at install time) was pulled fresh from main first.

Verification

  • grep -oE 'browserslist@[0-9.]+' pnpm-lock.yaml -> browserslist@4.28.8.
  • CI=true pnpm install --frozen-lockfile exits 0 at the workspace root.
  • pnpm audit --audit-level=high still exits non-zero (2 pre-existing HIGH findings via metro>image-size, unrelated to this advisory).

Discovery (out of scope, flagging only)

apps/mobile/pnpm-lock.yaml looks like a dead file: running pnpm install from inside apps/mobile still resolves against the root pnpm-workspace.yaml (pnpm walks up to find it) and never touches apps/mobile's own lockfile. The "Install mobile dependencies" CI step is therefore already exercising the root lockfile this PR fixes. Added the override to apps/mobile/package.json too for documentation, though pnpm warns it has no effect there.

Test plan

  • CI green

Two newly published HIGH advisories against browserslist <= 4.28.6
(unbounded memory growth from an unevicted query-result cache, plus a
crash/prototype-write via untrusted browserslist-stats.json), patched
in 4.28.7. Reached transitively via babel, so no direct dependency to
bump. Overridden at the workspace root (apps/mobile is a workspace
member, so its pnpm.overrides field has no effect there per pnpm's own
warning -- added anyway for documentation/defense since apps/mobile
also ships a standalone-looking package.json, but the root override is
what actually governs).

The nested packages/ clone (gitignored, cloned fresh at install time
per CI) was refreshed from nself-org/packages main before regenerating,
picking up its eslint/typescript-eslint devDependency addition to
@nself/tailwind-brand as a side effect.

Verified by the resolved lockfile version rather than the config:
browserslist now resolves to 4.28.8. CI=true pnpm install
--frozen-lockfile exits 0 at the workspace root. pnpm audit
--audit-level=high still exits non-zero (2 pre-existing HIGH findings
via metro>image-size, unrelated to this advisory).

Discovery (not fixed here, out of scope): apps/mobile/pnpm-lock.yaml
appears to be a dead file -- running pnpm install from within
apps/mobile still resolves against the root pnpm-workspace.yaml (pnpm
walks up to find it) and never touches apps/mobile's own lockfile, so
the CI step that installs there is actually exercising the root
lockfile already fixed by this change.
@vercel

vercel Bot commented Sep 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
ntask-web Ignored Ignored Sep 1, 2026 10:04pm UTC

Request Review

@acamarata
acamarata merged commit 0c85859 into main Sep 1, 2026
17 checks passed
@acamarata
acamarata deleted the fix/browserslist-ghsa-c83g-rgw3-j3cx branch September 1, 2026 22:09
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