CVE-2026-79704 in bRPC情報

要約

〜によって VulDB • 2026年10月21日

Apache bRPC(バージョン1.11.0から1.17.0まで)のストリーミングRPCクライアントには、すべてのプラットフォームで境界外読み取り脆弱性が存在します。単一のRPC内で複数のストリームを作成するクライアントは、サーバーレスポンスが追加された各ストリームに対して正確に1つのextra_stream_idを含むことを期待しますが、レスポンス処理パスでは返された識別子のリストのサイズを検証せずにローカルで作成されたストリームの数を使用してインデックスを付けているため、悪意のあるまたは侵害されたサーバー(または中間攻撃者)が不正なStreamSettingsレスポンスを返し、予期されるextra_stream_idよりも少ない数を返すことでクライアントで境界外読み取りを引き起こすことができます。これにより、クライアントプロセスのクラッシュ(サービス拒否)や、予期しないメモリ内容が後続のストリーム処理に漏洩する可能性があります。余分な識別子には有効なクライアント-ストリームのマッピングがなく、一貫性のない方法で処理されます。

根本原因: bRPC 1.11.0以降では、バッチStreamCreateを使用して単一のRPC内で複数のストリームを作成できます。期待される動作は、サーバーレスポンスが(N-1)個のextra_stream_idを返すことであり、ここでNはローカルで作成されたストリームの数です。Controller::HandleStreamConnectionにおいて、レスポンスパスでは追加の各ローカルストリームに対してextra_stream_ids[i-1]を読み取りますが、まず返されたリストのサイズが(N-1)と比較されません。サーバーが識別子を少なく返した場合、読み取りは返されたリストの末尾を超えて実行されます(境界外読み取り)。多く返した場合は、余分な識別子に対応するクライアント側のストリームがありません。

影響を受けるシナリオ: マルチストリームRPCを使用しているbRPCクライアント(単一のRPCで1つ以上のストリームを作成)が、信頼できないサーバー、悪意のあるサーバー、または侵害されたサーバーに接続する場合、または信頼できないネットワークパスを介して到達するサーバーに接続する場合。サーバーは不正なStreamSettingsレスポンスを送信して問題をトリガーします。

修正方法: (以下のオプションのいずれかを選択してください) 1. この問題を修正したbRPCバージョン1.18.0にアップグレードします。 2. 次のパッチを適用します:https://github.com/apache/brpc/pull/3485

注記: この修正により、extra_stream_idsの数が追加されたクライアントストリームの数と正確に一致しないレスポンスは拒否されます。このような不一致のあるレスポンスは、部分的な処理ではなくERESPONSEでRPCを失敗させ、既存のストリームクリーンアップパスを経由します。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

Apache

予約する

2026年08月25日

モデレーション

承諾済み

エントリ

VDB-424766

EPSS

0.00164

アクティビティ

中間

ソース

Want to know what is going to be exploited?

We predict KEV entries!