つみかさね

CVE-2024-24786

High(7.5)

Go protobufのprotojson無限ループ CVE-2024-24786:影響範囲と対応方法

公開日: 2026-09-24データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
Go protobufGoogle< 1.33.0 (protojson.Unmarshal)

対応ガイド

high|推奨セキュリティ修正影響: 広範

推奨アクション

  1. 1google.golang.org/protobuf の利用バージョンを確認する
  2. 2修正版へアップデートし再ビルド・再デプロイする
  3. 3アップデートが困難な場合は信頼できない入力のprotojsonデコードを避ける

影響対象

Go protobuf(protojson)利用者

対応不要な人

  • ✓protobuf/protojson を使用していない
  • ✓信頼できない入力を protojson.Unmarshal でデコードしていない
  • ✓既に修正版を使用している

補足

  • -gRPC-JSONゲートウェイなど外部入力経路を持つサービスを優先して確認してください
CVEGoprotobufDoS

30秒で判断

  • 対応すべき人: google.golang.org/protobuf を利用し、外部入力を protojson.Unmarshal でパースしているGoサービスの開発・運用者
  • 対応不要な人: protobuf/protojson を使っていない、または信頼できない入力を protojson でデコードしない構成
  • 確認コマンド: go list -m -u all | grep google.golang.org/protobuf

概要

protojson.Unmarshal 関数は、特定の不正な形式のJSONを処理する際に無限ループに陥る可能性があります。この状態は、google.protobuf.Any 値を含むメッセージへアンマーシャルする場合や、UnmarshalOptions.DiscardUnknown オプションが設定されている場合に発生し得ます。攻撃者が細工した入力を送り込むことで、サービスのハングやリソース枯渇(DoS)につながる可能性があります。

Go製のマイクロサービスやAPIで広く利用されるライブラリであり、gRPC-JSONゲートウェイなど外部入力を受け取る経路を持つ場合は影響範囲が広くなります。

CVSSベクトル

項目値
CVSSスコア7.5(HIGH)
攻撃元区分 (AV)Network
攻撃条件の複雑さ (AC)Low
必要な権限 (PR)None
影響(可用性)High

影響を受けるソフトウェア

製品パッケージ影響バージョン
Go protobufgoogle.golang.org/protobuf修正版より前(1.33.0 未満相当)

修正バージョンと回避策

  • google.golang.org/protobuf を修正版へアップデートしてください。
  • アップデートが難しい場合は、信頼できない入力を protojson.Unmarshal でデコードしない、入力サイズ・タイムアウトを設ける等の緩和を検討してください。

関連リンク


データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。