[aikido] fix: upgrade react native community cli for with-crossmint repo#31
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces package overrides for @react-native-community/cli and @react-native-community/cli-server-api to version 17.0.1 and adds a minimumReleaseAgeExclude configuration to the workspace. A high-severity issue was identified regarding the CLI upgrade; version 17.0.1 is incompatible with the current react-native@0.74.0 dependency. To resolve CVE-2025-11953 without breaking the build, it is suggested to use version 13.6.6 instead.
| '@react-native-community/cli@>=1.0.0 <17.0.1': 17.0.1 | ||
| '@react-native-community/cli-server-api@>=1.0.0 <17.0.1': 17.0.1 |
There was a problem hiding this comment.
Upgrading @react-native-community/cli to 17.0.1 while the project is on react-native@0.74.0 will likely cause significant compatibility issues and build failures, as CLI 17 is intended for much newer versions of React Native (0.78+). Additionally, this creates a version mismatch with other platform packages like @react-native-community/cli-platform-android which remain at 13.6.4 in the lockfile.
To fix CVE-2025-11953 while maintaining compatibility with React Native 0.74.0, you should upgrade to the patched version in the 13.x branch, which is 13.6.6.
'@react-native-community/cli@>=1.0.0 <13.6.6': 13.6.6
'@react-native-community/cli-server-api@>=1.0.0 <13.6.6': 13.6.6
Summary
Patches CVE-2025-11953 (CVSS Critical) in
with-crossmintby forcing@react-native-community/cliand@react-native-community/cli-server-apifrom13.6.4to17.0.1via pnpm overrides. The vulnerable packages are deep transitive deps — pulled in through@crossmint/client-sdk-react-ui→@dynamic-labs→@turnkey/crypto→react-native@0.74.0— so they cannot be upgraded directly; a range override is the correct fix. The17.0.1upgrade also pulls in fresherbrowserslistecosystem data packages (baseline-browser-mapping,electron-to-chromium, etc.) that release daily and would otherwise trip theminimumReleaseAgegate, so those are added tominimumReleaseAgeExclude.Key Changes
with-crossmint/pnpm-workspace.yaml:@react-native-community/cli@>=1.0.0 <17.0.1and@react-native-community/cli-server-api@>=1.0.0 <17.0.1→17.0.1(CVE-2025-11953: Metro dev server OS command injection)baseline-browser-mapping,caniuse-lite,electron-to-chromium,node-releasestominimumReleaseAgeExclude— these are daily-updating browser-compat data packages in thebrowserslistecosystem, not executable code, so excluding them from the age gate is safe@formo/analyticstominimumReleaseAgeExclude(was referenced in a comment but missing from the actual config)with-crossmint/pnpm-lock.yaml:@react-native-community/cli@13.6.4and@react-native-community/cli-server-api@13.6.4replaced by17.0.1throughoutNeed help on this PR? Tag
@codesmithwith what you need. Autofix is disabled.