Mitigating the Critical Security Vulnerability in React Server Components

Dec 5, 2025 by

Phil Pluckthun

Phil Pluckthun

Vojtech Novak

Vojtech Novak

Here's what you need to know when it comes to if your Expo app is affected by CVE-2025-55182 (Critical Security Vulnerability in React Server Components) and how to upgrade it to protect against this vulnerability.

An unauthenticated remote code execution vulnerability in React Server Components was disclosed as CVE-2025-55182. You may also learn more about the vulnerability in this react.dev blogpost. This vulnerability only affects Expo apps in specific circumstances and the actions to take to mitigate it are slightly different as it compares to web apps, so read on to learn more.

Am I affected?

First, you only need to take action if you're using experimental RSC or Server Functions support in production. API routes are not affected and the impact on EAS Hosting was already mitigated through a WAF rule.

Expo projects can be vulnerable through a dependency on react-server-dom-webpack 19.0, 19.1.0, 19.1.1, or 19.2.0. Projects that do not use RSC typically won't even have a dependency on the vulnerable package.

What to do (if affected)

To mitigate the vulnerability in your project's dependencies, you need to use a version of react-server-dom-webpack according to the list below:

  • react-server-dom-webpack@19.1.2 for SDK 54 (with react 19.1.x)
  • react-server-dom-webpack@19.0.1 for SDK 53 (with react 19.0.x)
  • react-server-dom-webpack@19.2.1 for canary (with react 19.2.x)

You can install the appropriate version manually to mitigate the issue. If you're using npm: Due to peer dependencies errors, you may have to add react-server-dom-webpack to your package.json:overrides.

Additionally, we have published patches for Expo SDK 53, 54 and canary that restrict our peer dependency ranges to only allow the patched react-server-dom-webpack versions mentioned above. Earlier versions of Expo are not affected.

These patches were published as listed below:

Additionally, we have updated our version recommendations in the expo CLI. Running expo install --check will recommend updates to react-server-dom-webpack, if you directly depend on an affected version. The React team has deprecated the affected versions, which means your package manager should additionally flag these versions, if they're still installed in your project.

Verify the upgrade

After upgrading, verify that your project depends on the expected version of react-server-dom-webpack using npm explain react-server-dom-webpack / yarn why react-server-dom-webpack and similar, depending on your package manager.

React & React Native Version Compatibility

Keep in mind that specific versions of react-native require specific versions of react, to prevent a runtime version mismatch. Always follow the react (and react-dom) version recommendations from expo install --check to prevent mismatches.

React versions in a monorepo

If you're using a monorepo and must update react, SDK 54 allows you to keep your Expo app on the correct react version by enabling expo.experiments.autolinkingModuleResolution: true in your app.json. This helps if other web apps or projects must be updated to a newer version of react while keeping your React Native / Expo app on an older version.
The react package itself does not contain RSC functionality and is hence not affected by this vulnerability.

Summary

  • only experimental RSC or Server Functions are affected
  • EAS Hosting impact was mitigated
  • you can update just the affected dependency manually or install the releases of expo-router and jest-expo according to the table above
  • specific versions of react-native require specific versions of react
  • in a monorepo, you may use a different version of react for an Expo app and other web projects