Skip to content

Patch Dependabot alerts: Next 15.5.27, sharp, braces backport - #25

Merged
ashlessscythe merged 3 commits into
devfrom
cursor/fix-vuln-dependabot-a46c
Oct 8, 2026
Merged

ashlessscythe merged 3 commits into
devfrom
cursor/fix-vuln-dependabot-a46c

Conversation

@ashlessscythe

@ashlessscythe ashlessscythe commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Summary

Clears open Dependabot / npm audit findings while keeping the app on Next.js 15.

Patched

  • next / eslint-config-next 15.5.23 → 15.5.27 — Windows/image RCE and SSG/ISR cache-poisoning advisories
  • sharp 0.35.3 → 0.35.5 — libheif / librsvg advisories
  • vitest 4.1.10 → 4.1.11 — @vitest/mocker path traversal
  • Overrides: brace-expansion ^5.0.12, js-yaml ^4.3.2, source-map-js ^1.2.2, postcss-selector-parser ^7.1.6

braces (GHSA-vfj7-8cjw-p6xm)

Upstream still has no published release past 3.0.3. This PR vendors a 3.0.4 backport of micromatch/braces#82 as vendor/braces-3.0.4.tgz and forces it via dependency + override. Dockerfile copies vendor/ into the deps/runner stages so npm ci resolves the local tarball.

Remove the vendor pin once npm publishes an official patched release.

Verification

npm audit
# found 0 vulnerabilities
  • npm run lint
  • npm run typecheck
  • npm run test:unit (275 passed)
  • npm run build
  • npm ci (lockfile in sync)
  • GitHub Actions CI (unit, integration, build)
Open in Web Open in Cursor 

cursoragent and others added 3 commits October 8, 2026 14:57
Upgrade next/eslint-config-next to 15.5.27 for RCE and cache-poisoning
fixes, sharp to 0.35.5, vitest to 4.1.11, and pin transitive overrides
(brace-expansion, js-yaml, source-map-js, postcss-selector-parser).

Vendor braces 3.0.4 from micromatch/braces#82 until upstream publishes a
release past 3.0.3 for GHSA-vfj7-8cjw-p6xm.

Co-authored-by: Tony <ashlessscythe@users.noreply.github.com>
Regenerate the lockfile so CI's plain `npm ci` stays in sync and
picomatch nesting resolves cleanly.

Co-authored-by: Tony <ashlessscythe@users.noreply.github.com>
The deps stage only copied package manifests, so `npm ci` could not
resolve the local braces file: override. Copy vendor into deps and
runner images.

Co-authored-by: Tony <ashlessscythe@users.noreply.github.com>
@ashlessscythe
ashlessscythe marked this pull request as ready for review October 8, 2026 15:02
@ashlessscythe
ashlessscythe merged commit 80b8e35 into dev Oct 8, 2026
3 checks passed
ashlessscythe added a commit that referenced this pull request Oct 8, 2026
)

* Patch Dependabot/npm audit: Next 15.5.27, sharp 0.35.5, braces backport.

Upgrade next/eslint-config-next to 15.5.27 for RCE and cache-poisoning
fixes, sharp to 0.35.5, vitest to 4.1.11, and pin transitive overrides
(brace-expansion, js-yaml, source-map-js, postcss-selector-parser).

Vendor braces 3.0.4 from micromatch/braces#82 until upstream publishes a
release past 3.0.3 for GHSA-vfj7-8cjw-p6xm.



* Sync package-lock for npm ci without legacy-peer-deps.

Regenerate the lockfile so CI's plain `npm ci` stays in sync and
picomatch nesting resolves cleanly.



* Include vendor braces tarball in Docker npm ci stages.

The deps stage only copied package manifests, so `npm ci` could not
resolve the local braces file: override. Copy vendor into deps and
runner images.



---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Tony <ashlessscythe@users.noreply.github.com>
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