
はじめに
ACS事業部 亀崎です。
最近 React Server Componentに関する重大な脆弱性「React2Shell」のニュースがあちこちで出ています。
みなさんの組織では問題ありませんか?こうした重大な脆弱性が発見されたときに、すぐに組織内の影響範囲を確認できるようになっていますでしょうか?
GitHubのDependabot Alertを組織内のリポジトリで有効にしておくと、こうした脆弱性が発見されたときに組織横断的に影響範囲を確認することができます。
今回は「React2Shell」の影響を受けているリポジトリがあるかどうかを確認するまでをみていきたいと思います。
事前準備
何もないところからいきなり「問題ない?」と確認しようとしてもできません。やはりそこは事前準備が大切です。 今回何も準備できていなかった、という方はぜひこれを機会に脆弱性の対応について見直しをすることをおすすめします。
Dependabot Alertを用いた対応については、実はすでに以前ご紹介させていただいています。
やることは1つ。「Dependabot security updates を有効」にするということです。 組織内のすべての対象リポジトリに対して有効にすることもできますので、どういった設定にするかぜひご検討ください。
確認作業
さて、Dependabot security updatesが有効になっているという前提で今回のReact2Shellの影響を確認していきましょう。 React2Shellは CVE-2025-55182 という識別番号が割り当てられています。調査をする際はこうした識別番号がなにかを確認してください。
番号がわかったら、続いてGitHubのGitHub Advisory Databaseにアクセスします。このデータベースには数多くの脆弱性情報が集められています。
検索フィールドにさきほど確認した識別番号を入力してみましょう。

関連する情報の一覧が表示されますので、1つ1つ見ていきます。今回は「LikeC4 has RCE through vulnerable React and Next.js versions」を選択しました。

「Vulnerability details」タブにはその脆弱性の詳細な情報が掲載されています。そして次のステップがポイント。
その隣の「Dependabot alerts」タブを表示します。このタブにはその脆弱性の影響を受けているリポジトリの一覧が表示されます。

このケースでは問題のあるリポジトリはありませんでした。
他の情報も確認していきましょう。もし脆弱性の影響をうけているリポジトリがあった場合次のような表示になります。

この例では4つのリポジトリで脆弱性が発見されたモジュールを利用しており、まだ未対策であることがわかります。
これで、未対策のリポジトリは特定できました。あとは対策するのみ。
対策は手動で行うこともできますが、Dependabotで自動的にモジュールアップデートのPull Requestを作成するようにもなります(Pull Requestを作成できないケースもあります)。
事前準備ができていれば、こうした重大な脆弱性が出てきた場合でもすぐにその影響範囲を特定し、修正をすることが可能になります。 普段は「こういうの面倒だなー」と思われるかもしれません。しかしこうした事態に備えた事前準備をしているかどうかで、いざというときの対応に差がでます。
今回の「React2Shell」を例に、皆さんもすぐに影響を特定できるか、確認してみてはいかがでしょうか。
最後に
弊社ではCloud Nativeなシステム開発に関するご支援をさせていただいております。サービス内容については以下のリンク先でご紹介させていただいておりますのでぜひご覧ください。