Spring GraphQLに深刻なデシリアライゼーションの欠陥、リモートコード実行の恐れ

Spring for GraphQLに存在する深刻な安全でないデシリアライゼーションの脆弱性(CVE-2026-59285として追跡)は、特定の条件下で対象アプリケーションにおけるリモートコード実行を可能にする可能性があります。

この脆弱性は、Broadcomが8月20日に公開したセキュリティリリースで明らかになりました。このリリースにはSpring Frameworkおよび関連プロジェクトに影響する91件のCVEが含まれています。SonatypeはCVE-2026-59285にCVSSスコア9.2を割り当てており、これは「Critical(緊急)」の深刻度に分類されます。

この問題は、JSONデシリアライゼーションにJackson 2.xを使用し、ページネーション対応のGraphQLフィールドを持ち、かつデシリアライゼーション時に悪用可能な特定のクラスを含む、Spring for GraphQLを使用したアプリケーションに影響します。

安全でないデシリアライゼーションは、信頼できない送信元からのシリアライズされたデータをアプリケーションが受け取り、どの型を生成できるかを十分に制限せずにオブジェクトへ復元してしまう場合に発生します。

脆弱な環境では、攻撃者が悪意ある入力を作成することで、アプリケーションに意図しないクラスをインスタンス化させたり、攻撃者が制御するコードを実行させたりできる可能性があります。ただし、この脆弱性はSpring for GraphQLを含むすべてのアプリケーションに自動的に影響するわけではありません。

実際に悪用できるかどうかは、アプリケーションのGraphQL実装、ページネーション対応フィールドの有無、Jackson 2.xのデシリアライゼーション挙動、そしてクラスパス上に悪用可能なクラスが存在するかどうかに左右されます。

とはいえ、この組み合わせが懸念される理由は、GraphQLエンドポイントがしばしば外部からアクセス可能であり、ユーザーから送られる構造化リクエストを処理するよう設計されている点にあります。

組織は、Spring for GraphQLが推移的依存関係として存在しているだけだからといって、GraphQLの導入環境が安全だと思い込むべきではありません。

セキュリティチームは、脆弱なバージョンのSpring GraphQLが本番環境、ステージング環境、開発環境、コンテナイメージ、社内アーティファクトリポジトリのいずれかに展開されていないかを確認する必要があります。

また、依存関係ツリーを精査し、対象コンポーネントが直接宣言されているのか、それともフレームワークやスターターパッケージ、親依存関係を通じて継承されているのかを把握することも重要です。

CVE-2026-59285は、8月のアドバイザリ公開後にSonatypeが追跡した91件の脆弱性のうちの1つです。この一連の脆弱性には、サーバーサイドリクエストフォージェリ、パストラバーサル、サービス拒否、認可の不備、情報漏えい、安全でないデシリアライゼーション、信頼できないコードの実行といった問題が含まれます。

Sonatype Guideの調査によれば、公開時点でこのセキュリティ事象の影響を受ける可能性のあるソフトウェアコンポーネントは209,569件に上るとされています。

この数字は、下流工程が抱える課題の大きさを物語っています。上流のメンテナーが修正版をリリースしたからといって、それをバンドル・継承・推移的に取り込んでいるアプリケーション側の問題が即座に解消されるわけではないのです。

8月の一連の公開は、Springにおける脆弱性報告件数の急増を受けたものでもあります。Broadcomは以前、AI支援による分析が脆弱性発見を加速させたことで、Springのセキュリティアドバイザリが2026年3月から4月にかけて月間1,700%以上増加したと報告していました。

組織は、Spring for GraphQLを、Springのセキュリティアドバイザリで推奨されている脆弱性のない最新リリースへアップグレードする必要があります。

チームは、インターネットに公開されているGraphQLサービス、信頼できない入力を処理するアプリケーション、そして悪用可能なガジェットクラスが存在しうる展開環境を優先的に対応すべきです。

パッチ適用が完了するまでの間は、GraphQLエンドポイントへのアクセス制限、認証・認可の徹底、異常なリクエストの監視、そして本番ビルドにおける不要なクラスの削減といった多層防御が有効です。

不審な活動をより迅速に調査し、ビジネスへの影響が拡大する前に脅威を封じ込めるための可視性とコンテキストを、あなたのセキュリティチームに。ANY.RUNで調査力を強化する

翻訳元: https://cyberpress.org/critical-spring-graphql-deserialization-flaw/

本記事は cyberpress.org の記事を翻訳・要約したものです。