CVE-2026-66079 in RabbitMQ
Zusammenfassung
von VulDB • 24.09.2026
RabbitMQ ist ein Messaging- und Streaming-Broker. Vor den Versionen 3.13.15, 4.0.20, 4.1.11 und 4.2.6 gibt `parse_array_primitive/2` für Konstruktor 0x45 (list0) ein Element mit Byte-Größe B = 0 zurück. Der umgebende Array32-Parser in Zeile 148 liest eine 4-Byte-lange Count-Wert aus dem Netzwerkstrom und durchläuft die Schleife Count-mal, wobei jeweils B Bytes verbraucht werden; bei B = 0 wird keine Eingabe verarbeitet, und die Schleife erstellt eine Liste von Count leeren Elementen, die nur durch das 32-Bit-Feld begrenzt ist. Der SASL-Mechanismus / SASL-Init-Rahmen wird vor Abschluss der Authentifizierung von `amqp10_framing:decode_bin/1` aus `rabbit_amqp_reader.erl`:412 analysiert. Die voreinstellungsgemäß auf 8192 Bytes festgelegte maximale Rahmengröße für den eingehenden Datenverkehr (`incoming_max_frame_size`) vor der Authentifizierung begrenzt den Rahmen, nicht das Count-Feld; daher wird ein 19-Byte-Payload mit Count = 0xFFFFFFFF akzeptiert. Für den Reader-Prozess ist keine `max_heap_size` festgelegt. Ein unberechtigter Netzwerkangreifer kann jeden RabbitMQ-Knoten zum Absturz bringen, der den AMQP 1.0-Listener (Standardport 5672) aktiviert hat, indem er einen einzelnen ~19-Byte-Rahmen sendet. Der Reader-Prozess versucht, eine Liste von ~4 Milliarden leeren Elementen aufzubauen, wodurch der Heap-Speicher erschöpft und die Erlang VM beendet wird. Alle Mandanten und Protokolle auf dem Knoten verlieren den Dienst. Voraussetzungen sind: Netzwerkzugriff zum AMQP-Listener (Port 5672, standardmäßig aktiviert) und keine Authentifizierung erforderlich. Dieses Problem wurde in den Versionen 3.13.15, 4.0.20, 4.1.11 und 4.2.6 behoben.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.