Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 の依存関係が存在すればアップグレードすべきです::

```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
```

### `react-server-dom-turbopack` {/*update-react-server-dom-turbopack*/}

最新バージョンにアップデートしてください:

```bash
npm install react@latest react-dom@latest react-server-dom-turbopack@latest
```

### `react-server-dom-webpack` {/*update-react-server-dom-webpack*/}

最新バージョンにアップデートしてください:

```bash
npm install react@latest react-dom@latest react-server-dom-webpack@latest
```

## タイムライン {/*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) 氏に感謝します。
6 changes: 6 additions & 0 deletions src/content/blog/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ Bluesky の [@react.dev](https://bsky.app/profile/react.dev) や Twitter の [@r

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

<BlogCard title="React Server Components の重大なセキュリティ脆弱性" date="December 03, 2025" url="/blog/2025/12/03/critical-security-vulnerability-in-react-server-components">

React Server Components に、未認証でのリモートコード実行の脆弱性があります。バージョン 19.0.1、19.1.2、19.2.1 で修正が公開されました。直ちにアップグレードすることを推奨します。

</BlogCard>

<BlogCard title="React Conf 2025 振り返り" date="October 16, 2025" url="/blog/2025/10/16/react-conf-2025-recap">

先週 React Conf 2025 が開催されました。この投稿では、イベントでの講演と発表内容をまとめます。
Expand Down
7 changes: 7 additions & 0 deletions src/sidebarBlog.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@
"path": "/blog",
"skipBreadcrumb": true,
"routes": [
{
"title": "React サーバーコンポーネントにおける重大なセキュリティ脆弱性",
"titleForHomepage": "React Server Components の脆弱性",
"icon": "blog",
"date": "December 03, 2025",
"path": "/blog/2025/12/03/critical-security-vulnerability-in-react-server-components"
},
{
"title": "React Conf 2025 振り返り",
"titleForHomepage": "React Conf 2025 振り返り",
Expand Down