Apache Struts 2 の RCE と Equifax の情報漏えい
緊急 9.8CVE-2017-5638ファイルアップロード処理の欠陥で、外部から任意のコマンドを実行できた。修正版の公開後も未適用のままだったサーバーが侵入口となり、米信用情報大手 Equifax から約 1 億 4,700 万人分の個人情報が流出した。
Claude Code でつくった小さな社内アプリでも、中身は数十〜数百のオープンソースの組み合わせです。言語 (Node.js・Python・Java)、フレームワーク (Spring Boot・React・Django)、データベース、OS——それぞれにサポート期限 (EOL) があり、セキュリティ修正のためのマイナーアップデートが毎月のように出ます。 「社内用だから」と使い続けるなら、誰かがこれを追い続ける必要があります。このページは、その「追い続ける対象」の具体的な一覧と、追えなかったときに実際に起きた事故の記録です。
過去 1 年の実績値です (出典: npm registry・PyPI・GitHub Advisory Database)。
Claude Code でよくつくられる社内アプリ (顧客管理・日報・在庫など) の構成を、層ごとに積み上げたものです。言語を選ぶと部品の組み合わせが変わり、組み合わせごとに寿命も変わります。
層にマウスを乗せる (スマホはタップ) と、上の層が持ち上がって、その層のアイコンを調べられます。
さらにその下に、npm や PyPI・Maven から自動で入る間接依存が数百あります。事故の多くは、自分では選んでいないこの間接依存から起きています (下の事例)。
主要 52 製品の系列を、2025〜2029 年の 5 年スパンで並べた WBS (ガントチャート) です。帯の色がそのまま「更新が来るかどうか」を表します。日付はオープンソースとしての (無償の) サポート期限で、商用サポートは含みません。
読み込み中…
過去 365 日に公開された正式バージョンの数 (プレリリースを除く) と、公開されたセキュリティ勧告の件数。
TypeScript には LTS がなく、サポートされるのは最新版だけです。型チェックがあっても、依存ライブラリの脆弱性やサプライチェーン攻撃は防げません。
いずれも公開情報 (NVD・GitHub Advisory Database・各プロジェクトの発表) で確認できる事例です。緊急 CVSS 9.0 以上 / 高 7.0〜8.9 / サプライチェーン 正規パッケージへのマルウェア混入。
ファイルアップロード処理の欠陥で、外部から任意のコマンドを実行できた。修正版の公開後も未適用のままだったサーバーが侵入口となり、米信用情報大手 Equifax から約 1 億 4,700 万人分の個人情報が流出した。
ログに特定の文字列が書き込まれるだけで、外部のサーバーからコードを読み込んで実行してしまう。ログ出力は至る所にあるため、世界中の Java システムが影響を受けた。Spring Boot の既定 (Logback) では影響しないが、Log4j 2 に切り替えている構成や、依存ライブラリ経由で入っていた例が多数あった。
JDK 9 以降 + Tomcat への WAR デプロイという条件で、リクエストのデータバインディングを悪用して任意のコードを実行できた。
ルーティング機能を使っていると、リクエストヘッダーに仕込んだ式 (SpEL) でリモートからコードを実行できた。
Spring Boot が設定ファイル読み込みに使う YAML ライブラリ。攻撃者が用意した YAML を読み込むと、任意のコード実行につながる。
関数型 Web フレームワーク (WebMvc.fn / WebFlux.fn) で静的ファイルを配信していると、サーバー上の任意のファイルを読まれるおそれがあった。
72 文字を超えるパスワードで、先頭 72 文字が一致すれば照合が成功してしまう。
ジェネリクスを使った型階層で @PreAuthorize などのアノテーションが正しく解決されず、認可チェックが効かない場合があった。
React Server Components の実装に、ログイン前の攻撃者がサーバー上でコードを実行できる欠陥。RSC を使う Next.js (App Router) などのフレームワークにも影響が及んだ。
特定のリクエストヘッダーを付けるだけで、ミドルウェアで行っている認可チェックを飛ばせた。ミドルウェアでログイン判定をしていたアプリは、管理画面などを素通りされるおそれがあった。
軽量で人気の Web フレームワーク Hono でも、CORS ミドルウェアが既定設定で任意の Origin を資格情報付きで許可してしまう問題 (高)、memo() がリクエストをまたいで別ユーザーの表示内容を返す問題、parseBody() のメモリ枯渇などが次々に修正された。
メンテナーがフィッシングでアカウントを奪われ、ターミナルの文字色付けやデバッグ出力といった「どのプロジェクトにも入っている」パッケージに、暗号資産の送金先を書き換えるマルウェアが仕込まれた。
感染したパッケージのインストール時に開発者の認証情報を盗み、そのメンテナーが管理する別のパッケージにも自分を仕込んで公開する、ワーム型の攻撃。@ctrl/tinycolor などが被害を受けた。
モノレポ向けビルドツール Nx の公開用トークンが悪用され、開発者の PC から秘密情報を収集して外部に送るコードを含むバージョンが公開された。
公開用アカウントが乗っ取られ、秘密鍵を外部へ送るコードを含む版が公開された。
多くのサイトが <script> で読み込んでいた CDN のドメインが第三者に買収され、配信されるスクリプトに悪意あるリダイレクトが仕込まれた。
特定のルート定義で、細工した URL を送られるとサーバーが長時間固まる (サービス停止)。Express が内部で使う部品。
メンテナー本人が、特定の国の IP アドレスからの利用時にファイルを上書きするコードを仕込んだ。人気フレームワークの依存経由で広く入り込んでいた。
週に数百万回ダウンロードされるブラウザ判定ライブラリに、マルウェアを含む版が公開された。
定番ユーティリティの defaultsDeep に、JavaScript の全オブジェクトの挙動を書き換えられる欠陥。
メンテナンスを引き継いだ第三者が、依存パッケージを追加する形で暗号資産ウォレットを狙うコードを仕込んだ。
人気の物体検出ライブラリの公開パイプラインが悪用され、PyPI に暗号資産マイニングソフトを含む版が公開された。
PyTorch の開発版が内部で使う依存と同名の悪性パッケージが PyPI に登録され、インストール時に優先されて取り込まれた。システム情報や SSH 鍵などが送信された。
日付の切り捨て・抽出関数 (Trunc / Extract) に外部入力を渡していると、SQL インジェクションが起きた。
Linux で広く使われる圧縮ライブラリに、数年かけて信頼を得たメンテナーがバックドアを仕込んだ。SSH 経由の侵入につながり得た。安定版の配布前に偶然発見された。
かつて修正された不具合が再び入り込み (リグレッション)、認証前のリモート攻撃でサーバーを乗っ取れるおそれがあった。
HTTP/2 の仕様を突いた大規模な DoS 攻撃。nginx・Node.js・Go・Tomcat など HTTP/2 を話すほぼ全てのサーバーで更新が必要になった。
HTTPS 通信を担う OpenSSL から、サーバーのメモリ (秘密鍵やパスワードを含み得る) を読み出せた。
Kotoage の Coordinator (Cloudflare Worker) は Hono で動いています。このページの調査中に npm audit を実行したところ、本番で動いていた Hono 4.12.10 が、上記の CORS の問題 (高) を含む複数の勧告の対象になっていました。
同じメジャー系列内の 4.13.9 へ更新し、自動テスト 83 項目で動作を確認してから当日中に本番へ反映しています (npm audit: 1 件 → 0 件)。
数か月前に「最新」で作った社内アプリでも、放っておけばこうなります。見つけて、試して、安全に反映する——この繰り返しを仕組みにしたのが パッチ見守り です。
あなたの社内アプリが使っている部品を洗い出し、サポート期限と脆弱性を毎週確認。更新・テスト・プレビューまで用意して、LINE で「OK」と返すだけにします。
出典: サポート期限は endoflife.date、リリース回数は npm registry / PyPI、勧告件数は GitHub Advisory Database (reviewed) の 2026-09-27 時点の値。
事故の事例は NVD・GitHub Advisory Database・OSV・各プロジェクトの公式発表に基づきます。サポート期限は各プロジェクトの方針変更で変わることがあり、商用サポートは含みません。網羅的な一覧ではありません。
データの更新: node tools/care-stack/update-eol.mjs
ロゴは Simple Icons (CC0) を使用しています。各ロゴの商標は各権利者に帰属し、製品の説明のためにのみ表示しています (提携・推奨を示すものではありません)。