プラットフォーム
python
コンポーネント
strawberry-graphql
修正版
0.312.4
0.312.3
Strawberry GraphQL は GraphQL API を構築するためのライブラリです。バージョン 0.0.0 から 0.312.3 までのバージョンでは、WebSocket サブスクリプションハンドラが、接続あたりのサブスクリプション数を制限せずに、受信するすべての subscribe メッセージに対して asyncio.Task と Operation オブジェクトを割り当てます。これにより、攻撃者は単一の WebSocket 接続を確立し、大量の subscribe メッセージを送信することで、システムリソースを枯渇させ、サービス拒否を引き起こす可能性があります。バージョン 0.312.3 でこの問題が修正されました。
この脆弱性を悪用されると、攻撃者は Strawberry GraphQL API を利用するアプリケーションに対して Denial of Service (DoS) 攻撃を実行できます。攻撃者は WebSocket 接続を確立し、大量の subscribe メッセージを送信することで、サーバーのリソース(CPU、メモリ、スレッドなど)を枯渇させ、正当なユーザーのリクエストを処理できなくする可能性があります。攻撃の成功は、サーバーのハードウェア構成、ネットワーク帯域幅、およびアプリケーションの負荷によって異なります。この攻撃は、特にリソースが限られた環境や、高負荷な状況下で運用されているアプリケーションにとって深刻な影響を与える可能性があります。類似の攻撃手法は、他の WebSocket 実装でも報告されており、この脆弱性は、WebSocket プロトコル自体の設計上の問題を示唆している可能性もあります。
この脆弱性は 2026年4月7日に公開されました。現時点では、この脆弱性を悪用した具体的な攻撃事例は報告されていませんが、DoS 攻撃は比較的容易に実行可能であり、悪用される可能性は高いと考えられます。KEV (Known Exploited Vulnerabilities) への登録状況は不明です。EPSS (Exploit Prediction Score System) の評価は、公開情報が限られているため、現時点では確定していません。NVD (National Vulnerability Database) および CISA (Cybersecurity and Infrastructure Security Agency) の情報は、公開された日付と一致しています。
Applications utilizing Strawberry GraphQL for building GraphQL APIs, particularly those exposed to untrusted networks or lacking robust authentication mechanisms, are at risk. Shared hosting environments where multiple applications share the same server resources are especially vulnerable, as a single attacker could impact all hosted applications.
• python / server:
import asyncio
import strawberry
# Check for Strawberry GraphQL version
import strawberry
print(strawberry.__version__)
# Monitor CPU and memory usage for unusual spikes during WebSocket connections
import psutil
while True:
cpu_usage = psutil.cpu_percent(interval=1)
memory_usage = psutil.virtual_memory().percent
print(f'CPU Usage: {cpu_usage}%, Memory Usage: {memory_usage}%')
asyncio.sleep(5)disclosure
エクスプロイト状況
EPSS
0.06% (18% パーセンタイル)
CISA SSVC
CVSS ベクトル
Strawberry GraphQL 0.312.3 へのアップデートが推奨されます。アップデートがすぐに利用できない場合は、WebSocket 接続あたりのサブスクリプション数を制限するカスタムのレート制限メカニズムを実装することを検討してください。また、WAF (Web Application Firewall) を使用して、異常な量の subscribe メッセージを送信する接続をブロックすることも有効です。さらに、WebSocket サーバーのハードウェアリソースを監視し、リソース使用率が異常に高くなっている場合は、手動で接続を遮断することを検討してください。アップデート後、Strawberry GraphQL API が正常に動作することを確認し、DoS 攻撃に対する耐性をテストしてください。
Actualice Strawberry GraphQL a la versión 0.312.3 o superior para mitigar la vulnerabilidad de denegación de servicio. Esta versión introduce límites en el número de suscripciones WebSocket activas por conexión, previniendo el consumo excesivo de recursos y posibles fallos.
脆弱性分析と重要アラートをメールでお届けします。
CVE-2026-35526 は、Strawberry GraphQL の WebSocket サブスクリプションハンドラに存在する Denial of Service (DoS) の脆弱性です。攻撃者は大量の subscribe メッセージを送信することで、サーバーリソースを枯渇させ、サービス拒否を引き起こす可能性があります。
Strawberry GraphQL のバージョンが 0.0.0 から 0.312.3 の間の場合は、この脆弱性に影響されます。バージョン 0.312.3 へのアップデートが必要です。
Strawberry GraphQL をバージョン 0.312.3 にアップデートしてください。アップデートがすぐに利用できない場合は、WebSocket 接続あたりのサブスクリプション数を制限するカスタムのレート制限メカニズムを実装することを検討してください。
現時点では、この脆弱性を悪用した具体的な攻撃事例は報告されていませんが、DoS 攻撃は比較的容易に実行可能であり、悪用される可能性は高いと考えられます。
Strawberry GraphQL の公式アドバイザリは、Strawberry GraphQL の GitHub リポジトリまたは関連するセキュリティ情報源で確認できます。https://github.com/strawberry-graphql/strawberry
依存関係ファイルをアップロードすれば、このCVEや他のCVEがあなたに影響するか即座にわかります。
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。