CVE-2026-66077 in RabbitMQ
要約
〜によって VulDB • 2026年09月23日
RabbitMQはメッセージングおよびストリーミングブローカーです。バージョン3.13.15、4.0.20、4.1.11、および4.2.6より前では、管理UIでEJS 1.0が使用されており、`<%= ... %>` はHTMLエスケープを行いません。connection.ejs:135 では `<%= connection.ssl_details.peer_cert_subject %>`(および peer_cert_issuer)がページに直接レンダリングされます。同様のパターンは streamConnection.ejs:102, 106, 110 でも見られます。これらの値は rabbit_ssl:peer_cert_subject/1 から取得され、DNをHTMLエスケープせずに文字列としてフォーマットします。検証者は元のリサーチャーの主張を修正しました:これはリスナーが verify_peer で構成されている場合にのみ到達可能です(つまり、証明書は任意の自己署名ではなく、ブローカーのトラストストアにあるCAによって署名されている必要があります)。ただし、mTLSを使用したクライアント認証を採用しているデプロイメントでは、組織のCAから証明書を要求できるユーザーはSubject CNを制御します。攻撃者がブローカーが信頼するCA(verify_peer が有効)によって署名されたTLSクライアント証明書を取得できると、証明書のSubject DNにJavaScriptを埋め込むことができます。管理者が管理UIでその接続を表示すると、スクリプトが管理者のブラウザセッション内で実行され、アカウントの完全乗っ取り(ユーザー作成、定義のエクスポートなど)が可能になります。管理UIのCSPには 'unsafe-inline' が含まれているため、インラインスクリプトの実行はブロックされません。前提条件としては、TLSリスナーが ssl_options.verify = verify_peer で構成されていること、攻撃者がCA署名付きのクライアント証明書(攻撃者指定のSubjectを含む)を取得できること(例:自己サービス型企業PKI、または rabbitmq_trust_store プラグインの使用)、および管理者が接続詳細ページを表示することが挙げられます。この問題はバージョン3.13.15、4.0.20、4.1.11、および4.2.6で修正されています。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.