Python製GraphQL API基盤「graphql-core」の入力検証に、認証不要のリクエストを繰り返すことでサーバーのメモリが解放されず、サービス停止につながるHIGH脆弱性(CVE-2026-119286)が確認された。開発元は影響する3.3系向けに修正版3.3.1を公開している。
30秒でわかる / THE SIGNAL
Python製GraphQL API基盤「graphql-core」の入力検証に、認証不要のリクエストを繰り返すことでサーバーのメモリが解放されず、サービス停止につながるHIGH脆弱性(CVE-2026-119286)が確認された。開発元は影響する3.3系向けに修正版3.3.1を公開している。
入力検証の中断処理でメモリが残り続ける
開発元のセキュリティ勧告によると、graphql-coreの特定の3.3系バージョンでは、GraphQL文書の検証エラーが上限を超えた際、同一の例外オブジェクトを繰り返し使っていた。Pythonの例外に積み重なるトレースバックが検証対象の文書や処理状態を保持し続け、リクエストごとにメモリ使用量が増加する。GraphQLクエリの実行前に発生するため、クエリの深さや複雑度に対する制限だけでは防げないと開発元は説明している。
対象はgraphql-coreの3.3系、重大度はHIGH
影響するPythonパッケージの範囲は3.3.0a3以上、3.3.1未満。GitHub Reviewedと開発元の勧告はいずれもCVSS v3.1で7.5(HIGH)と評価している。認証を必要としないGraphQL APIで可用性に影響する一方、開発元は情報の漏えいや改ざんを伴う脆弱性とは説明していない。また、graphql-core 3.2系およびJavaScript実装のGraphQL.jsは今回の問題の影響対象ではない。
修正版3.3.1への更新と実環境の確認
開発元は2026年10月25日にセキュリティ修正版3.3.1を公開した。修正版では検証中断ごとに新しい例外を生成し、処理済み検証の参照が残らないよう変更した。運用担当者は依存関係を含めた実際の導入バージョンを確認し、影響する場合は3.3.1以降へ更新したうえでテストと再デプロイを行う必要がある。直ちに更新できない環境向けには開発元が回避策を提示しているが、適用は利用フレームワークとの互換性確認が前提となる。
読者が判断すべき範囲と未確認事項
この問題は、graphql-coreを使うすべてのWebサイトが直ちに停止するという意味ではない。該当バージョンが実際に利用され、外部から該当の検証処理に到達できる構成かを確認する必要がある。開発元勧告に実環境での悪用確認の記載はなく、現時点の実悪用状況は未確認とする。公開APIを運用する組織は、バージョン調査と修正版の適用可否を優先して検討したい。