rabbitmq-server: RabbitMQ MQTT 5: inapplicable PUBLISH property disconnects matching subscribers
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
RabbitMQ is a messaging and streaming broker. From 3.13.0 until 3.13.19, 4.0.24, 4.1.15, 4.2.10, and 4.3.5, the MQTT 5 parser in deps/rabbitmq_mqtt/src/rabbit_mqtt_packet.erl accepts Request-Problem-Information on PUBLISH packets even though the property is valid only for CONNECT. An authenticated publisher with topic write permission can cause the broker to store and route that inapplicable property to a separately authenticated matching subscriber. When the subscriber path serializes the outbound PUBLISH, serialise_prop/2 has no matching clause, and the uncontained function_clause exception closes the victim MQTT or Web MQTT connection. The publisher connection and broker remain available, and queued replay, retained-message persistence, and broker-wide denial of service were not established. This issue is fixed in versions 3.13.19, 4.0.24, 4.1.15, 4.2.10, and 4.3.5.
Text from CVE List
Affected versions 5
- rabbitmq-serveraffected: >= 3.13.0, < 3.13.19CVE List
- rabbitmq-serveraffected: >= 4.0.0, < 4.0.24CVE List
- rabbitmq-serveraffected: >= 4.1.0, < 4.1.15CVE List
- rabbitmq-serveraffected: >= 4.2.0, < 4.2.10CVE List
- rabbitmq-serveraffected: >= 4.3.0, < 4.3.5CVE List
References 6
- github.com/rabbitmq/rabbitmq-server/commit/4639a4318c72a0660e4bc014767fad70ce288fbcFixvia CVE List
- github.com/rabbitmq/rabbitmq-server/commit/908f944a1d581d10774f8d6d0dcf2a1a713779fbFixvia CVE List
- github.com/rabbitmq/rabbitmq-server/releases/tag/v4.3.5Fixvia CVE List
- github.com/rabbitmq/rabbitmq-server/security/advisories/GHSA-jv99-v328-mvmmAdvisoryvia CVE List
- github.com/rabbitmq/rabbitmq-server/pull/17035Referencevia CVE List
- github.com/rabbitmq/rabbitmq-server/pull/17287Referencevia CVE List