30秒で判断
- 対応すべき人: gRPC-Go < 1.79.3 のサーバで、
grpc/authzやinfo.FullMethodを用いたパスベースの認可(denyルール+フォールバックallow構成)を利用している方 - 対応不要な人: 1.79.3 以降を利用している方、パスベースの認可インターセプタを使用していない方
- 確認コマンド:
go list -m google.golang.org/grpcでバージョンを確認
概要
gRPC-GoはgRPCのGo言語実装です。本脆弱性(CWE-285: 不適切な認可)は、サーバのルーティングがHTTP/2 :path 疑似ヘッダの検証に対して寛容すぎたことに起因します。先頭スラッシュを欠いたパス(Service/Method)でも正しいハンドラへルーティングする一方、認可インターセプタは非正規化されたパス文字列を評価するため、正規パス(/Service/Method)向けに定義した「deny」ルールがマッチせず、フォールバックの「allow」ルールがあるとポリシーを回避される可能性があります。
CVSSと攻撃の前提
| 項目 | 内容 |
|---|---|
| CVSSスコア | 9.1(Critical) |
| CWE | CWE-285(不適切な認可) |
| 前提条件 | パスベース認可+フォールバックallowルール |
影響を受けるソフトウェア
| 製品 | バージョン |
|---|---|
| gRPC-Go(google.golang.org/grpc) | < 1.79.3 |
修正バージョンと回避策
- 修正版: 1.79.3 以降へアップデートしてください(先頭スラッシュを欠く
:pathは即座に拒否されます)。 - 緩和策として、バリデーション用インターセプタの導入、インフラ層での正規化、ポリシーの強化が案内されています。
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
