React Server ComponentsにおけるDoS攻撃とソースコード露出の脆弱性
2025年12月11日 by The React Team
2026年1月26日更新
セキュリティ研究者が、先週の重大な脆弱性のパッチを悪用しようとする過程で、React Server Componentsに2つの追加の脆弱性を発見し、開示しました。これらの新しい脆弱性はリモートコード実行を許可するものではありません。React2Shellのパッチは、リモートコード実行の悪用を軽減する効果を維持しています。
新しい脆弱性は以下として開示されています:
- Denial of Service - 高重要度: CVE-2025-55184、CVE-2025-67779、CVE-2026-23864 (CVSS 7.5)
- Source Code Exposure - 中重要度: CVE-2025-55183 (CVSS 5.3)
新たに開示された脆弱性の重要度により、直ちにアップグレードすることを推奨します。
注意
以前に公開されたパッチには脆弱性があります。既に以前の脆弱性に対してアップデートを行った場合でも、再度アップデートが必要です。
19.0.3、19.1.4、19.2.3にアップデートした場合、これらは不完全であり、再度アップデートが必要です。
アップグレード手順については、前回の投稿の指示を参照してください。
2026年1月26日更新: これらの脆弱性の詳細は、修正のロールアウトが完了した後に提供されます。
緊急対応が必要
これらの脆弱性は、CVE-2025-55182と同じパッケージとバージョンに存在します。これには以下のパッケージのバージョン19.0.0、19.0.1、19.0.2、19.0.3、19.1.0、19.1.1、19.1.2、19.1.3、19.2.0、19.2.1、19.2.2、19.2.3が含まれます:
- react-server-dom-webpack
- react-server-dom-parcel
- react-server-dom-turbopack
修正はバージョン19.0.4、19.1.5、19.2.4にバックポートされました。
上記のパッケージのいずれかを使用している場合は、直ちに修正されたバージョンのいずれかにアップグレードしてください。
以前と同様に、アプリのReactコードがサーバーを使用していない場合、アプリはこれらの脆弱性の影響を受けません。アプリがReact Server Componentsをサポートするフレームワーク、バンドラー、またはバンドラープラグインを使用していない場合、アプリはこれらの脆弱性の影響を受けません。
注意
重大なCVEが後続の脆弱性を明らかにすることは一般的です。重大な脆弱性が開示されると、研究者は初期の軽減策を回避できるかどうかを確認するため、隣接するコードパスを精査し、変種の悪用技術を探します。このパターンは、JavaScriptだけでなく業界全体で見られます。例えば、Log4Shellの後、コミュニティが元の修正を調査する中で、追加のCVE(1、2)が報告されました。追加の開示は苛立たしいものですが、一般的に健全な対応サイクルの兆候です。
影響を受けるフレームワークとバンドラー
一部のReactフレームワークとバンドラーは、脆弱なReactパッケージに依存している、ピア依存関係を持っている、または含んでいました。以下のReactフレームワークとバンドラーが影響を受けます:
next、react-router、waku、@parcel/rsc、@vite/rsc-plugin、rwsdk
アップグレード手順については、前回の投稿の指示を参照してください。
ホスティングプロバイダーの軽減策
以前と同様に、多数のホスティングプロバイダーと協力して一時的な軽減策を適用しました。アプリを保護するためにこれらに依存すべきではなく、依然として直ちにアップデートしてください。
React Native
monorepoやreact-domを使用していないReact Nativeユーザーの場合、reactバージョンはpackage.jsonで固定されているはずで、追加の手順は必要ありません。
monorepoでReact Nativeを使用している場合、インストールされている場合は影響を受けるパッケージのみをアップデートしてください:
- react-server-dom-webpack
- react-server-dom-parcel
- react-server-dom-turbopack
これはセキュリティアドバイザリを軽減するために必要ですが、reactとreact-domをアップデートする必要はないため、React Nativeでバージョン不一致エラーが発生することはありません。詳細についてはこの問題を参照してください。
高重要度:複数のDoS攻撃 CVE: CVE-2026-23864
Base Score: 7.5 (高)
日付: 2026年1月26日
セキュリティ研究者が、React Server Componentsに追加のDoS脆弱性がまだ存在することを発見しました。脆弱性は、Server Function エンドポイントに特別に細工されたHTTPリクエストを送信することで引き起こされ、脆弱なコードパス、アプリケーション設定、アプリケーションコードに応じて、サーバークラッシュ、メモリ不足例外、または過度のCPU使用量を引き起こす可能性があります。
1月26日に公開されたパッチは、これらのDoS脆弱性を軽減します。
注意
追加の修正が公開されました
CVE-2025-55184のDoSに対処する元の修正は不完全でした。これにより以前のバージョンが脆弱なままでした。バージョン19.0.4、19.1.5、19.2.4は安全です。
2026年1月26日更新
高重要度:DoS攻撃 CVE: CVE-2025-55184およびCVE-2025-67779
Base Score: 7.5 (高)
セキュリティ研究者が、任意のServer Functionsエンドポイントに送信できる悪意のあるHTTPリクエストを作成でき、Reactによってデシリアライズされると、サーバープロセスをハングさせ、CPUを消費する無限ループを引き起こす可能性があることを発見しました。
アプリがReact Server Functionエンドポイントを実装していない場合でも、アプリがReact Server Componentsをサポートしている場合は脆弱である可能性があります。
これにより、攻撃者がユーザーの製品へのアクセスを拒否し、サーバー環境にパフォーマンスの影響を与える可能性がある脆弱性ベクターが作成されます。
本日公開されたパッチは、無限ループを防ぐことで軽減します。
中重要度:ソースコード露出 CVE: CVE-2025-55183
Base Score: 5.3 (中)
セキュリティ研究者が、脆弱なServer Functionに送信された悪意のあるHTTPリクエストが、任意のServer Functionのソースコードを安全でない方法で返す可能性があることを発見しました。
悪用には、明示的または暗黙的に文字列化された引数を公開するServer Functionの存在が必要です:
'use server';
export async function serverFunction(name) {
const conn = db.createConnection('SECRET KEY');
const user = await conn.createUser(name);
return {
id: user.id,
message: `Hello, ${name}!`
}
}
攻撃者は以下をリークできる可能性があります:
0: {"a":"$@1","f":"","b":"Wy43RxUKdxmr5iuBzJ1pN"}
1: {"id":"tva1sfodwq","message":"Hello, async function(a){console.log(\"serverFunction\");let b=i.createConnection(\"SECRET KEY\");return{id:(await b.createUser(a)).id,message:`Hello, ${a}!`}}!"}
本日公開されたパッチは、Server Functionソースコードの文字列化を防ぎます。
注意
ソースコード内の秘密のみが露出する可能性があります。ソースコードにハードコードされた秘密は露出する可能性がありますが、process.env.SECRETなどのランタイム秘密は影響を受けません。露出するコードの範囲は、バンドラーが提供するインライン化の量に応じて、他の関数を含む可能性があるServer Function内のコードに限定されます。常に本番バンドルに対して検証してください。
タイムライン
- 12月3日: Andrew MacPhersonによりVercelとMeta Bug Bountyにリークが報告
- 12月4日: RyotaKによりMeta Bug Bountyに初期DoSが報告
- 12月6日: Reactチームが両方の問題を確認し、調査を開始
- 12月7日: 初期修正が作成され、Reactチームが検証と新しいパッチの計画を開始
- 12月8日: 影響を受けるホスティングプロバイダーとオープンソースプロジェクトに通知
- 12月10日: ホスティングプロバイダーの軽減策が実施され、パッチが検証
- 12月11日: Shinsaku NomuraによりMeta Bug Bountyに追加のDoSが報告
- 12月11日: パッチが公開され、CVE-2025-55183およびCVE-2025-55184として公開開示
- 12月11日: 不足していたDoSケースが内部で発見され、パッチが適用されCVE-2025-67779として公開開示
- 1月26日: 追加のDoSケースが発見され、パッチが適用されCVE-2026-23864として公開開示
謝辞
Source Code Exposureを報告してくれたAndrew MacPherson (AndrewMohawk)、Denial of Service脆弱性を報告してくれたGMO Flatt Security IncのRyotaKとBitforest Co., Ltd.のShinsaku Nomuraに感謝します。
追加のDoS脆弱性を報告してくれたWinfunc ResearchのMufeed VH、Joachim Viide、GMO Flatt Security IncのRyotaK、Tencent Security YUNDING LABのXiangwei Zhangに感謝します。