rabbitmq-server: RabbitMQ AMQP 1.0 parser: amplification memory-exhaustion DoS via zero-width array aggregation
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 4.0.0 until 4.0.24, 4.1.15, 4.2.10, and 4.3.4, deps/amqp10_common/src/amqp10_binary_parser.erl materializes each element of AMQP 1.0 arrays whose shared constructor has zero width, while limiting only the number of elements in each array and not the aggregate arrays in a frame. After completing SASL authentication, a low-privilege client can send an ordinary frame containing many individually permitted arrays, causing a small frame to expand into a very large reader-process heap before later frame validation or authorization. Because deps/rabbit/src/rabbit_amqp_reader.erl clears the pre-authentication max_heap_size guard after login, repeated or concurrent frames can trigger the node-wide memory alarm, block publishers, or exhaust broker memory. This issue is fixed in versions 4.0.24, 4.1.15, 4.2.10, and 4.3.4.
Text from CVE List
Affected versions 4
- 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.4CVE List