
2025/12/12 6:37
Two new RSC protocol vulnerabilities uncovered
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
(欠落していた詳細を補い、表現を明確化したもの)
Summary
React の Server Components (RSC) は現在、CVE‑2025‑55183 と CVE‑2025‑55184 という新たに特定された脆弱性の対象となっていますが、攻撃者がサーバー上で任意コードを実行することは できません。
- CVE‑2025‑55184 は高い深刻度の Denial‑of‑Service (DoS) 欠陥です。App Router のエンドポイントをデシリアライズすると無限ループが発生し、サーバー処理が停止します。
- CVE‑2025‑55183 は中程度の深刻度の Source Code Exposure 問題で、他の Server Functions のコンパイル済みソースコードを返す可能性があります。これによりビジネスロジックやインライン化されたシークレットが漏れる恐れがあります。
両脆弱性は React2Shell パッチ・スイートの調査中に発見され、App Router と RSC を使用した Next.js アプリケーションに限定されます。旧式の Pages Router で構築されたプロジェクトには影響ありませんが、全開発者はセキュリティ衛生を保つためにパッチ版へ更新すべきです。
修正は以下のリリースで利用可能です:
- DoS 修正 (CVE‑2025‑55184):Next.js 14.2.34 以降、15.x および 16.x の全バージョンに含まれます。
- Source‑code exposure 修正 (CVE‑2025‑55183):Next.js 14.2.3415.0.x 以降、および 15.x と 16.x の全バージョンをカバーします。
ワークアラウンドは存在せず、アップグレードが必須です。すべてのユーザーは自分のリリースラインで最新パッチ版をインストールする必要があります—特に Next.js ≥ 13.3(または 14.0.x/14.1.x)では、最新の 14.2.x リリースへアップグレードしてサービス停止や機密ロジック漏洩の可能性を防止してください。
発見クレジット:GMO Flatt Security Inc. の RyotaK と Andrew MacPherson。
本文
注記:
一部のパッチ版はまだ npm へ公開中です。下記に掲載されているバージョンが未リリースの場合、しばらくしてから再確認してください。
脆弱性
React Server Components(RSC)プロトコルにおいて、React2Shell のパッチを検証中に 2 件の追加脆弱性が判明しました。いずれもリモートコード実行は起こりませんので、React2Shell 用のパッチは完全に有効です。
これらの脆弱性は上流の React 実装に由来します:
- CVE‑2025‑55183 – ソースコード露出
- CVE‑2025‑55184 – サービス拒否(DoS)
本アドバイザリでは、App Router を使用する Next.js アプリケーションへの下流影響を追跡します。詳細は React のブログ記事 をご覧ください。
影響範囲
| 脆弱性 | 深刻度 | 説明 |
|---|---|---|
| CVE‑2025‑55184 (DoS) | 高 | 特別に作成された HTTP リクエストを任意の App Router エンドポイントへ送ると、デシリアライズ時に無限ループが発生します。これによりサーバプロセスがハングし、その後のリクエストがブロックされます。 |
| CVE‑2025‑55183 (ソースコード露出) | 中 | 特別に作成された HTTP リクエストを送ると、Server Function が他の Server Functions のコンパイル済みソースコードを返します。これにより、環境変数ではなくハードコーディングされたビジネスロジックや秘密情報が漏れる恐れがあります。 |
対応済み・対象となる Next.js バージョン
App Router を使用し React Server Components を利用しているアプリは影響を受けます。以下の表に、各脆弱性で影響を受けるバージョンと修正済みバージョンを示します。
| バージョン | DoS (CVE‑2025‑55184) | ソースコード露出 (CVE‑2025‑55183) | 修正版 |
|---|---|---|---|
| ≥13.3 | ✓ | — | 14.2.34 へアップグレード |
| 14.x | ✓ | — | 14.2.34 へアップグレード |
| 15.0.6 | ✓ | ✓ | – |
| 15.1.10 | ✓ | ✓ | – |
| 15.2.7 | ✓ | ✓ | – |
| 15.3.7 | ✓ | ✓ | – |
| 15.4.9 | ✓ | ✓ | – |
| 15.5.8 | ✓ | ✓ | – |
| 15.6.0‑canary.59 | ✓ | ✓ | – |
| 16.0.9 | ✓ | ✓ | – |
| 16.1.0‑canary.17 | ✓ | ✓ | – |
Pages Router アプリケーションは影響を受けませんが、パッチ版へのアップグレードを推奨します。
必要な対策
すべてのユーザーは、リリースラインにおいて最新のパッチ版へアップグレードしてください:
- Next.js ≥13.3、14.0.x、または 14.1.x を使用している場合は、14.2.x の最新版へアップグレードします。
ワークアラウンドは存在せず、パッチ版へのアップグレードが必須です。
リソース
- CVE‑2025‑55184 (DoS):React、Next.js
- CVE‑2025‑55183 (ソースコード露出):React、Next.js
- React ブログ: Denial of Service and Source Code Exposure in React Server Components
- 以前のセキュリティアドバイザリ: CVE‑2025‑66478
発見者への感謝
RyotaK(GMO Flatt Security Inc.) と Andrew MacPherson に、これらの脆弱性を発見し責任ある形で報告していただいたことに感謝します。本アドバイザリでは、まだアップグレードしていない開発者を保護するために技術的詳細を意図的に限定しています。