chore: resolve remaining dependency security advisories - #1410
Merged
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Clears the reported advisories that were still outstanding after #1409. Example apps (Ruby): - addressable 2.8.6 -> 2.9.0 and concurrent-ruby 1.3.1 -> 1.3.8 in all three tester Gemfile.lock files. Verified with `bundle exec pod install` on each app. Workspace overrides (JavaScript): - esbuild <0.25 -> ^0.25.0. Only reachable through @modern-js/node-bundle-require inside @module-federation/cli, which has no release carrying the fix. - uuid 7 -> ^11.1.1. xcode pins uuid to ^7 and is unmaintained; it only calls uuid.v4(), which the advisory does not cover either way. No shipped package manifest changes, so published dependency ranges are untouched. Three advisories are left open because no fix is reachable without breaking something: - activesupport (GHSA-2j26-frm8-cmj9, GHSA-cg4j-q9v8-6v38, GHSA-89vf-4333-qx8v): the lowest patched release is 7.2.3.1, which needs Ruby >= 3.1. The testers pin Ruby 2.7.6, and moving them to 3.3.10 makes `pod install` fail with "pathname contains null byte" on every CocoaPods release from 1.15.2 through 1.17.0 (CocoaPods#12798, CocoaPods#12866). - brace-expansion (GHSA-mh99-v99m-4gvg): only 5.0.8 is patched, and it switched to a named `expand` export, so minimatch 3.x/8.x break under an override. Dev-only here - it is absent from every shipped package's production graph. - react-router (GHSA-qwww-vcr4-c8h2): patched only in 8.3.0. react-router-dom has no 8.x line, and @rspress/core 2.0.18 still requires react-router-dom ^7.18.1. Website-only, and the advisory covers RSC server mode, which a static Rspress build does not use.
dannyhw
force-pushed
the
dannyhw/dependabot-vulnerabilities-9a5641
branch
from
July 26, 2026 19:15
4652866 to
2f0c8c9
Compare
Conflicts were both in files where main and this branch appended to the same lists: - pnpm-workspace.yaml: kept both override groups - this branch's esbuild and uuid security overrides plus main's vite hold from #1411. - pnpm-lock.yaml: took this branch's tree (which carries the React Native 0.86 resolution) and re-ran `pnpm install` so main's vite override and the exact `@rsdoctor/rspack-plugin` pin are reflected.
…option - The MF v2 configs pinned `requiredVersion` for react and react-native to literal '19.2.3'/'0.84.1' (they use `catalog:` in package.json, so pkg.dependencies is not usable). Read the installed versions instead, so they cannot drift out of sync on the next upgrade. The stale literals made the federation runtime reject both shared singletons. - @react-navigation/native-stack 7.18.6 removed headerBackTitleVisible; use headerBackButtonDisplayMode instead.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Resolves the Dependabot advisories outstanding after #1409 — 23 of the 25 open alerts — and upgrades the example apps to React Native 0.86.0, which is what made the Ruby side possible. No shipped runtime code changes; the only
packages/diff is one devDependency bump indev-server.Ruby — all advisories cleared
The blocker was that every patched
activesupportneeds Ruby >= 3.1, while the testers pinned 2.7.6. Moving to Ruby 3.3 didn't work: CocoaPods intermittently dies withArgumentError - pathname contains null byteinproject.rb:452while resolving pnpm's symlinkednode_modules(CocoaPods#12866 — a pnpm-monorepo-specific issue, which is why plain RN projects on 3.3 are fine). On 3.3.10 it succeeded roughly 1 run in 6.Ruby 3.4.9 fixes it — 6/6 clean
pod installruns (rm -rf Podseach time) across all three apps. Ruby 3.4 also droppedkconvfrom stdlib, which CocoaPods needs, so the Gemfiles gaingem 'nkf'(the RN community template already carries this line; ours didn't).activesupport7.1.3.3 → 7.2.3.1 (GHSA-2j26-frm8-cmj9, GHSA-cg4j-q9v8-6v38, GHSA-89vf-4333-qx8v)addressable2.8.6 → 2.9.0 (GHSA-h27x-rffw-24p4)concurrent-ruby1.3.1 → 1.3.8 (GHSA-h8w8-99g7-qmvj, GHSA-wv3x-4vxv-whpp, GHSA-6wx8-w4f5-wwcr).ruby-version→ 3.4.9 in all three testers,mise.tomlaligned toruby = "3.4", and the Gemfiles document why 3.4 is the real floor.JavaScript overrides
esbuild@<0.25.0→^0.25.0(GHSA-67mh-4wv8-2f99). Only reachable through@modern-js/node-bundle-requireinside@module-federation/cli; no parent release carries the fix.uuid@7→^11.1.1(GHSA-w5hq-g745-h8pq).xcodepinsuuidto^7and is unmaintained. It only callsuuid.v4(), which the advisory (abufbounds check in v3/v5/v6) does not cover — this silences the alert rather than closing real exposure.React Native 0.86.0
0.87 is not viable: it's unreleased (
rc.2) andreact-native-test-app@5.4.5declaresreact-native: "0.76 - 0.86 || >=0.86.0-0 <0.87.0", with no prereleases that support it. 0.86.0 is the ceiling.@react-native/babel-preset+typescript-config→ 0.86.0,@react-native-community/cli*20.1.2 → 20.2.0, Gradle wrapper 9.0.0 → 9.3.10.83 - 0.86), svg → 15.15.5, safe-area-context → 5.8.0, async-storage → 3.1.1, screens → 4.26.2, nativewind → 4.2.6, css-interop → 0.2.6, react-navigation native → 7.3.14 / native-stack → 7.18.6Three things the upgrade surfaced:
requiredVersionwas the literal'19.2.3'/'0.84.1'(react and react-native usecatalog:, sopkg.dependenciesis unusable for them). After the bump the federation runtime rejected both shared singletons and the Gallery mini app failed to resolve. They now read the installed package versions so they cannot drift on the next upgrade.@react-navigation/native-stack7.18.6 removedheaderBackTitleVisible→headerBackButtonDisplayMode.@react-native/dev-middleware0.86 throws fromDefaultToolLauncherunderNODE_ENV=testunless the caller injects a mock. tester-app's suites boot a real dev server, so its vitest config now setsNODE_ENV=development.Left open — no compatible fix upstream
brace-expansion(GHSA-mh99-v99m-4gvg, high). Only 5.0.8 is patched; every other line, including the currentmaintenance-v1/maintenance-v2tags, is in range. 5.0.8 moved frommodule.exports = expandto a namedexpandexport, so minimatch 3.x (var expand = require('brace-expansion')) and 8.x (__importDefault) both break under an override. Dev-only here — absent from the production graph of every shipped package.react-router(GHSA-qwww-vcr4-c8h2, high). Patched only in 8.3.0.react-router-domhas no 8.x line and the latest@rspress/core(2.0.18) still requiresreact-router-dom ^7.18.1. Website-only, and the advisory covers RSC server mode, which a static Rspress build does not run.Both are dismissal candidates in the Dependabot UI rather than a code change.
Test plan
pnpm build,pnpm typecheck,pnpm lint:ci— passpnpm turbo run test --force— 10/10 tasks pass (cache bypassed)bundle exec pod install— passes on all three apps under Ruby 3.4.9, repeatedly and from a cleanPods/origin/main(ci: restore Node 18 test support and extend matrix to Node 26 #1411); both conflicts were append-to-the-same-list cases — kept both override groups inpnpm-workspace.yaml, and regeneratedpnpm-lock.yamlso main'svitehold and exact@rsdoctor/rspack-pluginpin are reflectedOn a Pixel 9 emulator, all three testers on RN 0.86:
dark:variants flip the whole screen:8082container with its own navigation and remote imagesNot covered
xcodebuildon RN 0.86. Pods install cleanly on all three, but the last full iOS build+launch was on 0.84.1.>= 20.19.4at 0.84.1 so the engines aren't newly violated, but I didn't run the suite on Node 18.@react-native/metro-configmissing, since Re.Pack replaces Metro.