Apache bRPCの脆弱性により、リモートコマンドインジェクション攻撃が可能に

広く利用されているオープンソースのリモートプロシージャコール(RPC)フレームワークであるApache bRPCには、組み込みのヒーププロファイラサービスに重大なリモートコマンドインジェクション脆弱性が存在し、攻撃者が影響を受けるシステム上で任意のコマンドを実行できる可能性があります。

この脆弱性は、すべてのプラットフォームにおいてApache bRPC 1.15.0より前の全バージョンに影響します。

脆弱性は、jemallocのメモリプロファイリング操作を容易にするために設計されたbRPCヒーププロファイラサービスのエンドポイント(/pprof/heap)に存在します。

根本原因は、 extra_options パラメータに対する入力検証が不十分であることにあります。攻撃者は、検証されないパラメータに悪意のあるコマンドライン引数を注入することでこの欠陥を悪用でき、その結果、bRPCサービスプロセスの権限で任意のリモートコマンド実行が可能になります。

この設計上の欠陥により、攻撃者はセキュリティ制御を回避し、システムコマンドをリモートから実行できます。

分散システムアーキテクチャでApache bRPCを展開している組織は、重大なリスクにさらされています。この脆弱性は、ヒーププロファイラのエンドポイントを信頼できないネットワークに公開しているサービス、またはbRPCインスタンスが高い権限で実行されている場合に特に懸念されます。

悪用に成功すると、システムの完全な侵害、データの流出、ネットワーク基盤内でのラテラルムーブメント、永続的なバックドアの展開につながる可能性があります。

影響を受けるバージョンは1.15.0以前の全リリースに及ぶ広範な範囲であり、レガシー環境の展開は、積極的にパッチを適用しない限り重大なリスクにさらされたままとなります。

組織は直ちにApache bRPCの展開状況を監査し、脆弱なインスタンスを特定すべきです。

主要な対応: Apache bRPC 1.15.0以降へアップグレードしてください。この更新により、悪意のあるコマンドインジェクションを防ぐ包括的な入力検証メカニズムが実装され、脆弱性が解消されます。

代替の対応: 依存関係の制約やテスト要件により直ちにバージョンアップできない場合は、公式GitHubリポジトリで提供されているセキュリティパッチ(プルリクエスト #3101)を適用してください。この限定的なパッチは、全面的なバージョン移行を必要とせずに脆弱性へ対処します。

セキュリティチームは、この脆弱性を高リスクとして優先的に扱うべきです。インフラ内のすべてのbRPCインスタンスを直ちに特定し、バージョンを確認し、ネットワーク上の露出状況を評価してください。

重要システムについては、ネットワークセグメンテーションを実施して /pprof/heap エンドポイントへのアクセスを制限してください。性能監視で積極的に使用していない場合は、ヒーププロファイラサービスを無効化してください。

ヒーププロファイラのエンドポイントへのアクセスに対して、包括的なログ取得と監視を実装してください。さらに、アップグレードの段階的実施中における一時的な代替制御として、bRPCリクエスト内の不審なパラメータを検知・遮断するよう設定したWeb Application Firewalls (WAF)の導入も検討してください。

この脆弱性は、研究者Simcha Kosmanによって責任ある開示が行われました。さらなる技術的詳細は、公式CVEレコードおよびApache bRPCのセキュリティアドバイザリのチャネルから入手できます。

翻訳元: https://cyberpress.org/apache-brpc-vulnerability/

ソース: cyberpress.org