Synopsys Cybersecurity Research Center(CyRC)は、3つのオープンソースのメッセージブローカー・アプリケーションでサービス拒否の脆弱性を公開しました。メッセージブローカーはソフトウェアシステムで使用され、複数の独立したコンポーネントが確実かつ堅牢に情報を交換できるようにします。
RabbitMQ、EMQ X、VerneMQはオープンソースのメッセージブローカーです。CyRCの調査により、各メッセージブローカーが大量のメモリを消費し、オペレーティングシステムによってアプリケーションが終了する原因となる入力が明らかになりました。
メッセージブローカーは、さまざまなネットワークプロトコルを使用して情報を交換します。広く使用されているプロトコルの1つは、Message Queuing Telemetry Transport(MQTT)です。CyRCは、影響を受ける各メッセージブローカーで過剰なメモリ消費を引き起こす不正な形式のMQTTメッセージを発見しました。
不具合の原因は、すべてクライアント側の入力によるものですが、問題のメカニズムはメッセージブローカーごとに異なります。CyRCは、これらメッセージブローカーで障害を引き起こす3種類の不正な形式のMQTTメッセージを検出しましたが、3つすべてで障害を引き起こす単一のメッセージは検出できませんでした。
CVE-2021-22116
RabbitMQ バージョン 3.8.x から 3.8.16の前まで
CVE-2021-33175
EMQ X バージョン 4.2.8の前まで
CVE-2021-33176
VerneMQ バージョン 1.12.0の前まで
CVE-2021-22116
VMWareのアドバイザリー情報を参照ください https://tanzu.vmware.com/security/cve-2021-22116
CVE-2021-33175
CVSS 3.1 base score: 8.6 (high)
CVSS 3.1 vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H/RL:O/RC:C
CVE-2021-33176
CVSS 3.1 base score: 8.6 (high)
CVSS 3.1 vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H/RL:O/RC:C
CVE-2021-22116
RabbitMQ バージョン 3.8.16以降へのアップグレード
https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.16
CVE-2021-22116の修正についてのリリースノート: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.15
CVE-2021-33175
EMQ X バージョン 4.2.8以降へのアップグレード
https://docs.emqx.io/en/broker/v4.2/changes/changes-4.2.html#version-4-2-8
CVE-2021-33176
VerneMQ バージョン 1.12.0以降へのアップグレード
Jonathan Knudsen、Synopsys Cybersecurity Research Centerの研究者。これらの脆弱性は Defensics® fuzz testing toolを使用して発見しました。
Synopsysは、RabbitMQ、VerneMQ、およびEMQ Xチームが速やかに対応し、これらの脆弱性にタイムリーに対処されたことを称賛いたします。
CVE-2021-22116
CVE-2021-33175
CVE-2021-33176