-
Notifications
You must be signed in to change notification settings - Fork 184
Translate "Critical Security Vulnerability in React Server Components" blog post #895
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
Closed
SSakutaro
wants to merge
2
commits into
reactjs:main
from
SSakutaro:tr/blog-critical-security-vulnerability
Closed
Changes from 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
168 changes: 168 additions & 0 deletions
168
...t/blog/2025/12/03/critical-security-vulnerability-in-react-server-components.md
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,168 @@ | ||
| --- | ||
| title: "React Server Components における重大なセキュリティ脆弱性" | ||
| author: The React Team | ||
| date: 2025/12/03 | ||
| description: React Server Components に、未認証でのリモートコード実行の脆弱性があります。バージョン 19.0.1、19.1.2、19.2.1 で修正が公開されました。直ちにアップグレードすることを推奨します。 | ||
|
|
||
| --- | ||
|
|
||
| December 3, 2025 by [The React Team](/community/team) | ||
|
|
||
| --- | ||
|
|
||
| <Intro> | ||
|
|
||
| React Server Components に、未認証でのリモートコード実行の脆弱性があります。 | ||
|
|
||
| 直ちにアップグレードすることを推奨します。 | ||
|
|
||
| </Intro> | ||
|
|
||
| --- | ||
|
|
||
| 11 月 29 日、Lachlan Davidson 氏が React のセキュリティ脆弱性を報告しました。これは、React が React Server Function のエンドポイントに送信されたペイロードをデコードする方法の欠陥を悪用することで、未認証でのリモートコード実行を可能にするものです。 | ||
|
|
||
| アプリが React Server Function のエンドポイントを実装していない場合でも、React Server Components をサポートしている場合は脆弱性の影響を受ける可能性があります。 | ||
|
|
||
| この脆弱性は [CVE-2025-55182](https://www.cve.org/CVERecord?id=CVE-2025-55182) として公開されており、CVSS スコアは 10.0 です。 | ||
|
|
||
| 以下のパッケージのバージョン 19.0、19.1.0、19.1.1、および 19.2.0 に脆弱性が存在します: | ||
|
|
||
| * [react-server-dom-webpack](https://www.npmjs.com/package/react-server-dom-webpack) | ||
| * [react-server-dom-parcel](https://www.npmjs.com/package/react-server-dom-parcel) | ||
| * [react-server-dom-turbopack](https://www.npmjs.com/package/react-server-dom-turbopack?activeTab=readme) | ||
|
|
||
| ## 直ちに対応が必要です {/*immediate-action-required*/} | ||
|
|
||
| バージョン [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), および [19.2.1](https://github.com/facebook/react/releases/tag/v19.2.1) で修正が導入されました。上記のパッケージを使用している場合は、直ちに修正済みバージョンのいずれかにアップグレードしてください。 | ||
|
|
||
| アプリの React コードがサーバを使用していない場合、この脆弱性の影響は受けません。アプリが React Server Components をサポートするフレームワーク、バンドラ、またはバンドラプラグインを使用していない場合、この脆弱性の影響は受けません。 | ||
|
|
||
| ### 影響を受けるフレームワークとバンドラ {/*affected-frameworks-and-bundlers*/} | ||
|
|
||
| 一部の React フレームワークやバンドラは、脆弱性のある React パッケージに依存しているか、ピア依存 (peer dependency) しているか、あるいはそれらを含んでいました。以下の React フレームワークおよびバンドラが影響を受けます: [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). | ||
|
|
||
| アップグレード方法に関する指示が利用可能になり次第、この記事を更新します。 | ||
|
|
||
| ### ホスティングプロバイダによる緩和策 {/*hosting-provider-mitigations*/} | ||
|
|
||
| 我々は多くのホスティングプロバイダと協力し、一時的な緩和策を適用しました。 | ||
|
|
||
| アプリの保護をこれらに依存せず、依然として直ちにアップデートすべきです。 | ||
|
|
||
| ### 脆弱性の概要 {/*vulnerability-overview*/} | ||
|
|
||
| [React Server Functions](https://react.dev/reference/rsc/server-functions) を使用すると、クライアントからサーバ上の関数を呼び出すことができます。React は、フレームワークやバンドラが React コードをクライアントとサーバの両方で実行するのを支援するための統合ポイントとツールを提供しています。React はクライアント上のリクエストを HTTP リクエストに変換し、サーバに転送します。サーバ上で、React は HTTP リクエストを関数呼び出しに変換し、必要なデータをクライアントに返します。 | ||
|
|
||
| 認証されていない攻撃者が任意の Server Function エンドポイントに対して悪意のある HTTP リクエストを作成し、React がそれをデシリアライズした際に、サーバ上でリモートコード実行が可能になる恐れがあります。脆弱性の詳細については、修正のロールアウトが完了した後に提供される予定です。 | ||
|
|
||
| ## 更新手順 {/*update-instructions*/} | ||
|
|
||
| ### Next.js {/*update-next-js*/} | ||
|
|
||
| 全ユーザは、各リリースラインの最新のパッチ適用済みバージョンにアップグレードすべきです: | ||
|
|
||
| ```bash | ||
| npm install next@15.0.5 // for 15.0.x | ||
| npm install next@15.1.9 // for 15.1.x | ||
| npm install next@15.2.6 // for 15.2.x | ||
| npm install next@15.3.6 // for 15.3.x | ||
| npm install next@15.4.8 // for 15.4.x | ||
| npm install next@15.5.7 // for 15.5.x | ||
| npm install next@16.0.7 // for 16.0.x | ||
| ``` | ||
|
|
||
| Next.js 14.3.0-canary.77 またはそれ以降の canary リリースを使用している場合は、最新の安定版 14.x リリースにダウングレードしてください: | ||
|
|
||
| ```bash | ||
| npm install next@14 | ||
| ``` | ||
|
|
||
| 詳細は [Next.js の変更履歴](https://nextjs.org/blog/CVE-2025-66478) を参照してください。 | ||
|
|
||
| ### React Router {/*update-react-router*/} | ||
|
|
||
| React Router の不安定版 (unstable) RSC API を使用している場合、以下の package.json の依存関係が存在すればアップグレードすべきです:: | ||
SSakutaro marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ```bash | ||
| npm install react@latest | ||
| npm install react-dom@latest | ||
| npm install react-server-dom-parcel@latest | ||
| npm install react-server-dom-webpack@latest | ||
| npm install @vitejs/plugin-rsc@latest | ||
| ``` | ||
|
|
||
| ### Expo {/*expo*/} | ||
|
|
||
| 緩和策について詳しくは、[expo.dev/changelog](https://expo.dev/changelog/mitigating-critical-security-vulnerability-in-react-server-components) の記事を参照してください。 | ||
|
|
||
| ### Redwood SDK {/*update-redwood-sdk*/} | ||
|
|
||
| rwsdk>=1.0.0-alpha.0 であることを確認してください。 | ||
|
|
||
| 最新のベータ版の場合: | ||
|
|
||
| ```bash | ||
| npm install rwsdk@latest | ||
| ``` | ||
|
|
||
| 最新の react-server-dom-webpack にアップグレードしてください: | ||
|
|
||
| ```bash | ||
| npm install react@latest react-dom@latest react-server-dom-webpack@latest | ||
| ``` | ||
|
|
||
| その他の移行手順については [Redwood docs](https://docs.rwsdk.com/migrating/) を参照してください。 | ||
|
|
||
| ### Waku {/*update-waku*/} | ||
|
|
||
| 最新の `react-server-dom-webpack` にアップグレードしてください: | ||
|
|
||
| ```bash | ||
| npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latest | ||
| ``` | ||
|
|
||
| その他の移行手順については [Waku のアナウンス](https://github.com/wakujs/waku/discussions/1823) を参照してください。 | ||
|
|
||
| ### `@vitejs/plugin-rsc` {/*vitejs-plugin-rsc*/} | ||
|
|
||
| 最新の RSC プラグインにアップグレードしてください: | ||
|
|
||
| ```bash | ||
| npm install react@latest react-dom@latest @vitejs/plugin-rsc@latest | ||
| ``` | ||
|
|
||
| ### `react-server-dom-parcel` {/*update-react-server-dom-parcel*/} | ||
|
|
||
| 最新バージョンにアップデートしてください: | ||
|
|
||
| ```bash | ||
| npm install react@latest react-dom@latest react-server-dom-parcel@latest | ||
| ``` | ||
SSakutaro marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ### `react-server-dom-turbopack` {/*update-react-server-dom-turbopack*/} | ||
|
|
||
| 最新バージョンにアップデートしてください: | ||
|
|
||
| ```bash | ||
| npm install react@latest react-dom@latest react-server-dom-turbopack@latest | ||
| ``` | ||
SSakutaro marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ### `react-server-dom-webpack` {/*update-react-server-dom-webpack*/} | ||
|
|
||
| 最新バージョンにアップデートしてください: | ||
|
|
||
| ```bash | ||
| npm install react@latest react-dom@latest react-server-dom-webpack@latest | ||
| ``` | ||
SSakutaro marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ## タイムライン {/*timeline*/} | ||
|
|
||
| * **11 月 29 日**: Lachlan Davidson 氏が [Meta Bug Bounty](https://bugbounty.meta.com/) を通じて脆弱性を報告しました。 | ||
| * **11 月 30 日**: Meta のセキュリティ研究者が確認し、React チームと協力して修正作業を開始しました。 | ||
| * **12 月 1 日**: 修正が作成され、React チームは影響を受けるホスティングプロバイダやオープンソースプロジェクトと協力して修正を検証し、緩和策を実施して修正のロールアウトを開始しました。 | ||
| * **12 月 3 日**: 修正が npm に公開され、CVE-2025-55182 として一般公開されました。 | ||
|
|
||
| ## 謝辞 {/*attribution*/} | ||
|
|
||
| この脆弱性を発見・報告し、修正に協力してくれた [Lachlan Davidson](https://github.com/lachlan2k) 氏に感謝します。 | ||
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
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
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.
Uh oh!
There was an error while loading. Please reload this page.