-
Notifications
You must be signed in to change notification settings - Fork 393
@W-20151632: MSDK Android Security Bug: CVE-2025-11953 - React Native Community CLI (RCE) #2800
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… Community CLI (RCE)
libs/SalesforceReact/package.json
Outdated
| "react-native": "0.79.3", | ||
| "react": "19.1.1", | ||
| "react-native": "0.82.1", | ||
| "@react-native/new-app-screen": "0.82.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wmathurin - Since this is a library module, think we should try to avoid adding the two new dependencies here? The upgrade helper is only available for apps - not libraries. All the other files in the upgrade helper with obvious app-level changes are already absent from our library with this one exception.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we only need them in apps.
Also shouldn't you upgrade react-native-force (i.e. SalesforceMobileSDK-ReactNative) first?
| "node": ">=18" | ||
| "node": ">=20" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to update the versions spreadsheet so this new min version gets added to release notes.
… Community CLI (RCE) (Gradle and Android Gradle Plug In Updates)
| implementation("androidx.appcompat:appcompat:1.7.1") | ||
| implementation("androidx.biometric:biometric:1.2.0-alpha05") | ||
| implementation("androidx.lifecycle:lifecycle-extensions:2.2.0") | ||
| implementation("androidx.core:core-ktx:1.16.0") // Update requires API 36 compileSdk |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A newer version of androidx.core:core-ktx than 1.16.0 is available: 1.17.0 |
| implementation("androidx.biometric:biometric:1.2.0-alpha05") | ||
| implementation("androidx.lifecycle:lifecycle-extensions:2.2.0") | ||
| implementation("androidx.core:core-ktx:1.16.0") // Update requires API 36 compileSdk | ||
| implementation("androidx.activity:activity-ktx:$androidXActivityVersion") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A newer version of androidx.activity:activity-ktx than 1.10.1 is available: 1.11.0 |
| implementation("androidx.lifecycle:lifecycle-extensions:2.2.0") | ||
| implementation("androidx.core:core-ktx:1.16.0") // Update requires API 36 compileSdk | ||
| implementation("androidx.activity:activity-ktx:$androidXActivityVersion") | ||
| implementation("androidx.activity:activity-compose:$androidXActivityVersion") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A newer version of androidx.activity:activity-compose than 1.10.1 is available: 1.11.0 |
| implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$livecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$livecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-service:$livecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A newer version of androidx.lifecycle:lifecycle-viewmodel-ktx than 2.8.7 is available: 2.9.4 |
| implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$livecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-service:$livecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycleVersion") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A newer version of androidx.lifecycle:lifecycle-viewmodel-compose than 2.8.7 is available: 2.9.4 |
| implementation("androidx.lifecycle:lifecycle-service:$livecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycleVersion") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A newer version of androidx.lifecycle:lifecycle-viewmodel-savedstate than 2.8.7 is available: 2.9.4 |
| implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-service:$lifecycleVersion") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A newer version of androidx.lifecycle:lifecycle-service than 2.8.7 is available: 2.9.4 |
| implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-service:$lifecycleVersion") | ||
| implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3") // Update requires Kotlin 2. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A newer version of org.jetbrains.kotlinx:kotlinx-serialization-json than 1.6.3 is available: 1.9.0 |
| implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycleVersion") | ||
| implementation("androidx.lifecycle:lifecycle-service:$lifecycleVersion") | ||
| implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3") // Update requires Kotlin 2. | ||
| implementation("androidx.window:window:1.4.0") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A newer version of androidx.window:window than 1.4.0 is available: 1.5.0 |
Generated by 🚫 Danger |
| implementation("androidx.lifecycle:lifecycle-service:$lifecycleVersion") | ||
| implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3") // Update requires Kotlin 2. | ||
| implementation("androidx.window:window:1.4.0") | ||
| implementation("androidx.window:window-core:1.4.0") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A newer version of androidx.window:window-core than 1.4.0 is available: 1.5.0 |
Generated by 🚫 Danger |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #2800 +/- ##
============================================
+ Coverage 56.16% 56.41% +0.25%
- Complexity 2490 2507 +17
============================================
Files 211 211
Lines 16928 16919 -9
Branches 2376 2369 -7
============================================
+ Hits 9507 9545 +38
+ Misses 6377 6329 -48
- Partials 1044 1045 +1
🚀 New features to boost your workflow:
|
| - uses: gradle/actions/setup-gradle@v4 | ||
| with: | ||
| gradle-version: "8.10.1" | ||
| gradle-version: "8.12.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this was reviewed on Friday, Gradle and AGP have been updated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For future reference, this is the Gradle version not the AGP version. There is no version 8.12.0 so this is causing build failures.
| testNamespace = "com.salesforce.androidsdk.reactnative.tests" | ||
|
|
||
| //noinspection GradleDependency - Will be upgraded to 36 in Mobile SDK 14.0 | ||
| //noinspection GradleDependency - Will be upgraded to 36 in Mobile SDK 14.0. Also, React Native 0.82.1 requests 36. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added this note since we're temporarily diverging from the React Native Upgrade Assistant on this one.
… Community CLI (RCE) (Remove App Level React Native Dependencies)
| dependencies { | ||
| val composeVersion = "1.8.2" // Update requires Kotlin 2. | ||
| val livecycleVersion = "2.8.7" // Update requires Kotlin 2. | ||
| val lifecycleVersion = "2.8.7" // Update requires Kotlin 2. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this little typo was mine years ago, so I added it here as an unrelated fix.
… Community CLI (RCE) (Revert To React Native 0.81.5)
libs/SalesforceReact/package.json
Outdated
| "react-native-force": "git+https://github.com/forcedotcom/SalesforceMobileSDK-ReactNative.git#dev" | ||
| "react": "19.1.0", | ||
| "react-native": "0.81.5", | ||
| "react-native-force": "git+https://github.com/JohnsonEricAtSalesforce/SalesforceMobileSDK-ReactNative.git#bugfix/w-20151632_msdk-android-security-bug-cve-2025-11953-react-native-community-cli-rce" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't forget to revert that :-)
… Community CLI (RCE) (Self Review Cleanup)
… Community CLI (RCE) (Gradle Wrapper Update)
ae66239
into
forcedotcom:dev
🎸 Ready For Review 🥁
This updates the SalesforceReact library for Android to React Native 0.82.1 according to the official React Native Upgrade Helper. Note: This won't be merged until it's tested with corresponding changes to the template apps.