Skip to content

Commit 5867450

Browse files
merging all conflicts
2 parents 4e818e3 + e22544e commit 5867450

File tree

9 files changed

+265
-5
lines changed

9 files changed

+265
-5
lines changed

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@
3535
"classnames": "^2.2.6",
3636
"debounce": "^1.2.1",
3737
"github-slugger": "^1.3.0",
38+
<<<<<<< HEAD
3839
"next": "15.4.8",
40+
=======
41+
"next": "15.1.9",
42+
>>>>>>> e22544e68d6fffda33332771efe27034739f35a4
3943
"next-remote-watch": "^1.0.0",
4044
"parse-numeric-range": "^1.2.0",
4145
"react": "^19.0.0",

src/components/MDX/Sandpack/template.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ root.render(
3535
eject: 'react-scripts eject',
3636
},
3737
dependencies: {
38-
react: '^19.2.0',
39-
'react-dom': '^19.2.0',
38+
react: '^19.2.1',
39+
'react-dom': '^19.2.1',
4040
'react-scripts': '^5.0.0',
4141
},
4242
},

src/components/MDX/SandpackWithHTMLOutput.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ export default function formatHTML(markup) {
5656
const packageJSON = `
5757
{
5858
"dependencies": {
59-
"react": "^19.2.0",
60-
"react-dom": "^19.2.0",
59+
"react": "^19.2.1",
60+
"react-dom": "^19.2.1",
6161
"react-scripts": "^5.0.0",
6262
"html-format": "^1.1.2"
6363
},
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
---
2+
title: "Critical Security Vulnerability in React Server Components"
3+
author: The React Team
4+
date: 2025/12/03
5+
description: There is an unauthenticated remote code execution vulnerability in React Server Components. A fix has been published in versions 19.0.1, 19.1.2, and 19.2.1. We recommend upgrading immediately.
6+
7+
---
8+
9+
December 3, 2025 by [The React Team](/community/team)
10+
11+
---
12+
13+
<Intro>
14+
15+
There is an unauthenticated remote code execution vulnerability in React Server Components.
16+
17+
We recommend upgrading immediately.
18+
19+
</Intro>
20+
21+
---
22+
23+
On November 29th, Lachlan Davidson reported a security vulnerability in React that allows unauthenticated remote code execution by exploiting a flaw in how React decodes payloads sent to React Server Function endpoints.
24+
25+
Even if your app does not implement any React Server Function endpoints it may still be vulnerable if your app supports React Server Components.
26+
27+
This vulnerability was disclosed as [CVE-2025-55182](https://www.cve.org/CVERecord?id=CVE-2025-55182) and is rated CVSS 10.0.
28+
29+
The vulnerability is present in versions 19.0, 19.1.0, 19.1.1, and 19.2.0 of:
30+
31+
* [react-server-dom-webpack](https://www.npmjs.com/package/react-server-dom-webpack)
32+
* [react-server-dom-parcel](https://www.npmjs.com/package/react-server-dom-parcel)
33+
* [react-server-dom-turbopack](https://www.npmjs.com/package/react-server-dom-turbopack?activeTab=readme)
34+
35+
## Immediate Action Required {/*immediate-action-required*/}
36+
37+
A fix was introduced in versions [19.0.1](https://github.com/facebook/react/releases/tag/v19.0.1), [19.1.2](https://github.com/facebook/react/releases/tag/v19.1.2), and [19.2.1](https://github.com/facebook/react/releases/tag/v19.2.1). If you are using any of the above packages please upgrade to any of the fixed versions immediately.
38+
39+
If your app’s React code does not use a server, your app is not affected by this vulnerability. If your app does not use a framework, bundler, or bundler plugin that supports React Server Components, your app is not affected by this vulnerability.
40+
41+
### Affected frameworks and bundlers {/*affected-frameworks-and-bundlers*/}
42+
43+
Some React frameworks and bundlers depended on, had peer dependencies for, or included the vulnerable React packages. The following React frameworks & bundlers are affected: [next](https://www.npmjs.com/package/next), [react-router](https://www.npmjs.com/package/react-router), [waku](https://www.npmjs.com/package/waku), [@parcel/rsc](https://www.npmjs.com/package/@parcel/rsc), [@vitejs/plugin-rsc](https://www.npmjs.com/package/@vitejs/plugin-rsc), and [rwsdk](https://www.npmjs.com/package/rwsdk).
44+
45+
We will update this post with upgrade instructions on how to upgrade as they become available.
46+
47+
### Hosting Provider Mitigations {/*hosting-provider-mitigations*/}
48+
49+
We have worked with a number of hosting providers to apply temporary mitigations.
50+
51+
You should not depend on these to secure your app, and still update immediately.
52+
53+
### Vulnerability overview {/*vulnerability-overview*/}
54+
55+
[React Server Functions](https://react.dev/reference/rsc/server-functions) allow a client to call a function on a server. React provides integration points and tools that frameworks and bundlers use to help React code run on both the client and the server. React translates requests on the client into HTTP requests which are forwarded to a server. On the server, React translates the HTTP request into a function call and returns the needed data to the client.
56+
57+
An unauthenticated attacker could craft a malicious HTTP request to any Server Function endpoint that, when deserialized by React, achieves remote code execution on the server. Further details of the vulnerability will be provided after the rollout of the fix is complete.
58+
59+
## Update Instructions {/*update-instructions*/}
60+
61+
### Next.js {/*update-next-js*/}
62+
63+
All users should upgrade to the latest patched version in their release line:
64+
65+
```bash
66+
npm install [email protected] // for 15.0.x
67+
npm install [email protected] // for 15.1.x
68+
npm install [email protected] // for 15.2.x
69+
npm install [email protected] // for 15.3.x
70+
npm install [email protected] // for 15.4.x
71+
npm install [email protected] // for 15.5.x
72+
npm install [email protected] // for 16.0.x
73+
```
74+
75+
If you are on Next.js 14.3.0-canary.77 or a later canary release, downgrade to the latest stable 14.x release:
76+
77+
```bash
78+
npm install next@14
79+
```
80+
81+
See the [Next.js changelog](https://nextjs.org/blog/CVE-2025-66478) for more info.
82+
83+
### React Router {/*update-react-router*/}
84+
85+
If you are using React Router's unstable RSC APIs, you should upgrade the following package.json dependencies if they exist:
86+
87+
```bash
88+
npm install react@latest
89+
npm install react-dom@latest
90+
npm install react-server-dom-parcel@latest
91+
npm install react-server-dom-webpack@latest
92+
npm install @vitejs/plugin-rsc@latest
93+
```
94+
95+
### Expo {/*expo*/}
96+
97+
To learn more about mitigating, read the article on [expo.dev/changelog](https://expo.dev/changelog/mitigating-critical-security-vulnerability-in-react-server-components).
98+
99+
### Redwood SDK {/*update-redwood-sdk*/}
100+
101+
Ensure you are on rwsdk>=1.0.0-alpha.0
102+
103+
For the latest beta version:
104+
105+
```bash
106+
npm install rwsdk@latest
107+
```
108+
109+
Upgrade to the latest `react-server-dom-webpack`:
110+
111+
```bash
112+
npm install react@latest react-dom@latest react-server-dom-webpack@latest
113+
```
114+
115+
See [Redwood docs](https://docs.rwsdk.com/migrating/) for more migration instructions.
116+
117+
### Waku {/*update-waku*/}
118+
119+
Upgrade to the latest `react-server-dom-webpack`:
120+
121+
```bash
122+
npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latest
123+
```
124+
125+
See [Waku announcement](https://github.com/wakujs/waku/discussions/1823) for more migration instructions.
126+
127+
### `@vitejs/plugin-rsc` {/*vitejs-plugin-rsc*/}
128+
129+
Upgrade to the latest RSC plugin:
130+
131+
```bash
132+
npm install react@latest react-dom@latest @vitejs/plugin-rsc@latest
133+
```
134+
135+
### `react-server-dom-parcel` {/*update-react-server-dom-parcel*/}
136+
137+
Update to the latest version:
138+
139+
```bash
140+
npm install react@latest react-dom@latest react-server-dom-parcel@latest
141+
```
142+
143+
### `react-server-dom-turbopack` {/*update-react-server-dom-turbopack*/}
144+
145+
Update to the latest version:
146+
147+
```bash
148+
npm install react@latest react-dom@latest react-server-dom-turbopack@latest
149+
```
150+
151+
### `react-server-dom-webpack` {/*update-react-server-dom-webpack*/}
152+
153+
Update to the latest version:
154+
155+
```bash
156+
npm install react@latest react-dom@latest react-server-dom-webpack@latest
157+
```
158+
159+
## Timeline {/*timeline*/}
160+
161+
* **November 29th**: Lachlan Davidson reported the security vulnerability via [Meta Bug Bounty](https://bugbounty.meta.com/).
162+
* **November 30th**: Meta security researchers confirmed and began working with the React team on a fix.
163+
* **December 1st**: A fix was created and the React team began working with affected hosting providers and open source projects to validate the fix, implement mitigations and roll out the fix
164+
* **December 3rd**: The fix was published to npm and the publicly disclosed as CVE-2025-55182.
165+
166+
## Attribution {/*attribution*/}
167+
168+
Thank you to [Lachlan Davidson](https://github.com/lachlan2k) for discovering, reporting, and working to help fix this vulnerability.

src/content/blog/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@ Bluesky'de [@react.dev](https://bsky.app/profile/react.dev) hesabını veya Twit
1414

1515
<div className="sm:-mx-5 flex flex-col gap-5 mt-12">
1616

17+
<BlogCard title="Critical Security Vulnerability in React Server Components" date="December 3, 2025" url="/blog/2025/12/03/critical-security-vulnerability-in-react-server-components">
18+
19+
There is an unauthenticated remote code execution vulnerability in React Server Components. A fix has been published in versions 19.0.1, 19.1.2, and 19.2.1. We recommend upgrading immediately.
20+
21+
</BlogCard>
22+
1723
<BlogCard title="React Conf 2025 Recap" date="October 16, 2025" url="/blog/2025/10/16/react-conf-2025-recap">
1824

1925
Last week we hosted React Conf 2025. In this post, we summarize the talks and announcements from the event...

src/content/reference/react/addTransitionType.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ startTransition(() => {
3939

4040
#### Returns {/*returns*/}
4141

42-
`startTransition` does not return anything.
42+
`addTransitionType` does not return anything.
4343

4444
#### Caveats {/*caveats*/}
4545

src/content/versions.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,12 @@ For versions older than React 15, see [15.react.dev](https://15.react.dev).
5454
- [React 19 Deep Dive: Coordinating HTML](https://www.youtube.com/watch?v=IBBN-s77YSI)
5555

5656
**Releases**
57+
- [v19.2.1 (December, 2025)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1921-dec-3-2025)
5758
- [v19.2.0 (October, 2025)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1920-october-1st-2025)
59+
- [v19.1.2 (December, 2025)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1912-dec-3-2025)
60+
- [v19.1.1 (July, 2025)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1911-july-28-2025)
5861
- [v19.1.0 (March, 2025)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1910-march-28-2025)
62+
- [v19.0.1 (December, 2025)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1901-dec-3-2025)
5963
- [v19.0.0 (December, 2024)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1900-december-5-2024)
6064

6165
### React 18 {/*react-18*/}

src/sidebarBlog.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@
1111
"path": "/blog",
1212
"skipBreadcrumb": true,
1313
"routes": [
14+
{
15+
"title": "Critical Security Vulnerability in React Server Components",
16+
"titleForHomepage": "Vulnerability in React Server Components",
17+
"icon": "blog",
18+
"date": "December 03, 2025",
19+
"path": "/blog/2025/12/03/critical-security-vulnerability-in-react-server-components"
20+
},
1421
{
1522
"title": "React Conf 2025 Recap",
1623
"titleForHomepage": "React Conf 2025 Recap",

yarn.lock

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1259,10 +1259,17 @@
12591259
unist-util-visit "^4.0.0"
12601260
vfile "^5.0.0"
12611261

1262+
<<<<<<< HEAD
12621263
12631264
version "15.4.8"
12641265
resolved "https://registry.yarnpkg.com/@next/env/-/env-15.4.8.tgz#f41741d07651958bccb31fb685da0303a9ef1373"
12651266
integrity sha512-LydLa2MDI1NMrOFSkO54mTc8iIHSttj6R6dthITky9ylXV2gCGi0bHQjVCtLGRshdRPjyh2kXbxJukDtBWQZtQ==
1267+
=======
1268+
1269+
version "15.1.9"
1270+
resolved "https://registry.yarnpkg.com/@next/env/-/env-15.1.9.tgz#3569b6dd6a9b0af998fc6e4902da6b9ed2fc36c9"
1271+
integrity sha512-Te1wbiJ//I40T7UePOUG8QBwh+VVMCc0OTuqesOcD3849TVOVOyX4Hdrkx7wcpLpy/LOABIcGyLX5P/SzzXhFA==
1272+
>>>>>>> e22544e68d6fffda33332771efe27034739f35a4
12661273

12671274
12681275
version "12.0.3"
@@ -1271,6 +1278,7 @@
12711278
dependencies:
12721279
glob "7.1.7"
12731280

1281+
<<<<<<< HEAD
12741282
12751283
version "15.4.8"
12761284
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.4.8.tgz#f5030219421079036720b5948ea9de9bee02ac34"
@@ -1310,6 +1318,47 @@
13101318
version "15.4.8"
13111319
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.4.8.tgz#a29a53cd262ec5093b9ac24a5fd5e4540ec64eb4"
13121320
integrity sha512-Exsmf/+42fWVnLMaZHzshukTBxZrSwuuLKFvqhGHJ+mC1AokqieLY/XzAl3jc/CqhXLqLY3RRjkKJ9YnLPcRWg==
1321+
=======
1322+
1323+
version "15.1.9"
1324+
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.9.tgz#7b95fc3b2cd5108b514c949c3bddb3a9b42a714e"
1325+
integrity sha512-sQF6MfW4nk0PwMYYq8xNgqyxZJGIJV16QqNDgaZ5ze9YoVzm4/YNx17X0exZudayjL9PF0/5RGffDtzXapch0Q==
1326+
1327+
1328+
version "15.1.9"
1329+
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.9.tgz#bda6b37e0deeb64f4139cc70b37e370bd3367be8"
1330+
integrity sha512-fp0c1rB6jZvdSDhprOur36xzQvqelAkNRXM/An92sKjjtaJxjlqJR8jiQLQImPsClIu8amQn+ZzFwl1lsEf62w==
1331+
1332+
1333+
version "15.1.9"
1334+
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.9.tgz#546717f65de5fa610cd211183bd1be63050ab1c4"
1335+
integrity sha512-77rYykF6UtaXvxh9YyRIKoaYPI6/YX6cy8j1DL5/1XkjbfOwFDfTEhH7YGPqG/ePl+emBcbDYC2elgEqY2e+ag==
1336+
1337+
1338+
version "15.1.9"
1339+
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.9.tgz#3594f47a94fd52e1aba00f59793171de9386f71a"
1340+
integrity sha512-uZ1HazKcyWC7RA6j+S/8aYgvxmDqwnG+gE5S9MhY7BTMj7ahXKunpKuX8/BA2M7OvINLv7LTzoobQbw928p3WA==
1341+
1342+
1343+
version "15.1.9"
1344+
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.9.tgz#77cc834636688e44fea4c9cee800649a4ed92b0d"
1345+
integrity sha512-gQIX1d3ct2RBlgbbWOrp+SHExmtmFm/HSW1Do5sSGMDyzbkYhS2sdq5LRDJWWsQu+/MqpgJHqJT6ORolKp/U1g==
1346+
1347+
1348+
version "15.1.9"
1349+
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.9.tgz#88783a8968d0c0e4f274b68569b73c19ee2feecb"
1350+
integrity sha512-fJOwxAbCeq6Vo7pXZGDP6iA4+yIBGshp7ie2Evvge7S7lywyg7b/SGqcvWq/jYcmd0EbXdb7hBfdqSQwTtGTPg==
1351+
1352+
1353+
version "15.1.9"
1354+
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.9.tgz#1b7024cee3eefe4bcf8f81e7cbffe6aeb15d32ea"
1355+
integrity sha512-crfbUkAd9PVg9nGfyjSzQbz82dPvc4pb1TeP0ZaAdGzTH6OfTU9kxidpFIogw0DYIEadI7hRSvuihy2NezkaNQ==
1356+
1357+
1358+
version "15.1.9"
1359+
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.9.tgz#92044825d0f9e017d6a27ab69fc8c8f5ca9dc239"
1360+
integrity sha512-SBB0oA4E2a0axUrUwLqXlLkSn+bRx9OWU6LheqmRrO53QEAJP7JquKh3kF0jRzmlYOWFZtQwyIWJMEJMtvvDcQ==
1361+
>>>>>>> e22544e68d6fffda33332771efe27034739f35a4
13131362

13141363
"@nodelib/[email protected]":
13151364
version "2.1.5"
@@ -5787,17 +5836,28 @@ next-tick@^1.1.0:
57875836
resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz"
57885837
integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
57895838

5839+
<<<<<<< HEAD
57905840
57915841
version "15.4.8"
57925842
resolved "https://registry.yarnpkg.com/next/-/next-15.4.8.tgz#0f20a6cad613dc34547fa6519b2d09005ac370ca"
57935843
integrity sha512-jwOXTz/bo0Pvlf20FSb6VXVeWRssA2vbvq9SdrOPEg9x8E1B27C2rQtvriAn600o9hH61kjrVRexEffv3JybuA==
57945844
dependencies:
57955845
"@next/env" "15.4.8"
5846+
=======
5847+
5848+
version "15.1.9"
5849+
resolved "https://registry.yarnpkg.com/next/-/next-15.1.9.tgz#eaab46d7a57c881fadf748d8ba2a8c65ec27ad8f"
5850+
integrity sha512-OoQpDPV2i3o5Hnn46nz2x6fzdFxFO+JsU4ZES12z65/feMjPHKKHLDVQ2NuEvTaXTRisix/G5+6hyTkwK329kA==
5851+
dependencies:
5852+
"@next/env" "15.1.9"
5853+
"@swc/counter" "0.1.3"
5854+
>>>>>>> e22544e68d6fffda33332771efe27034739f35a4
57965855
"@swc/helpers" "0.5.15"
57975856
caniuse-lite "^1.0.30001579"
57985857
postcss "8.4.31"
57995858
styled-jsx "5.1.6"
58005859
optionalDependencies:
5860+
<<<<<<< HEAD
58015861
"@next/swc-darwin-arm64" "15.4.8"
58025862
"@next/swc-darwin-x64" "15.4.8"
58035863
"@next/swc-linux-arm64-gnu" "15.4.8"
@@ -5807,6 +5867,17 @@ [email protected]:
58075867
"@next/swc-win32-arm64-msvc" "15.4.8"
58085868
"@next/swc-win32-x64-msvc" "15.4.8"
58095869
sharp "^0.34.3"
5870+
=======
5871+
"@next/swc-darwin-arm64" "15.1.9"
5872+
"@next/swc-darwin-x64" "15.1.9"
5873+
"@next/swc-linux-arm64-gnu" "15.1.9"
5874+
"@next/swc-linux-arm64-musl" "15.1.9"
5875+
"@next/swc-linux-x64-gnu" "15.1.9"
5876+
"@next/swc-linux-x64-musl" "15.1.9"
5877+
"@next/swc-win32-arm64-msvc" "15.1.9"
5878+
"@next/swc-win32-x64-msvc" "15.1.9"
5879+
sharp "^0.33.5"
5880+
>>>>>>> e22544e68d6fffda33332771efe27034739f35a4
58105881

58115882
nice-try@^1.0.4:
58125883
version "1.0.5"

0 commit comments

Comments
 (0)