Katalog CVE

CVE-2026-66079

WysokieCVSS 8.2
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.32%

Percentyl 22 - wyżej niż 22% wszystkich znanych CVE

Streszczenie

W RabbitMQ przed wersjami 3.13.15, 4.0.20, 4.1.11 i 4.2.6 funkcja parse_array_primitive/2 dla konstruktora 0x45 (list0) zwraca element o szerokości bajtowej B = 0. Otaczający parser array32 odczytuje 4-bajtowe Count z sieci i wykonuje pętlę Count razy, zużywając B bajtów za każdym razem; gdy B = 0, żadne dane wejściowe nie są konsumowane, a pętla buduje listę Count pustych elementów ograniczoną tylko 32-bitowym polem. Ramka SASL-mechanisms / SASL-init jest parsowana przez amqp10_framing:decode_bin/1 z rabbit_amqp_reader.erl:412 przed zakończeniem uwierzytelniania. Pre-auth incoming_max_frame_size (domyślnie 8192 bajty) ogranicza ramkę, a nie pole Count, więc 19-bajtowy ładunek z Count = 0xFFFFFFFF jest akceptowany. Nie ustawiono max_heap_size dla procesu czytnika. Nieuwierzytelniony atakujący sieciowy może zawiesić dowolny węzeł RabbitMQ z włączonym listenerem AMQP 1.0 (domyślny port 5672), wysyłając pojedynczą ~19-bajtową ramkę.

Ocena ryzyka

Nieuwierzytelniony atakujący może zdalnie spowodować awarię węzła RabbitMQ, prowadząc do niedostępności usługi dla wszystkich dzierżawców i protokołów.

Rekomendacja

Zaktualizuj RabbitMQ do wersji 3.13.15, 4.0.20, 4.1.11 lub 4.2.6 (lub nowszej), które naprawiają tę podatność.

Inne podatności w RabbitMQ

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

RabbitMQ is a messaging and streaming broker. Prior to versions 3.13.15, 4.0.20, 4.1.11, and 4.2.6, parse_array_primitive/2 for constructor 0x45 (list0) returns an element with byte-width B = 0. The enclosing array32 parser at line 148 reads a 4-byte Count from the wire and loops Count times consuming B bytes each , with B = 0, no input is consumed and the loop builds a list of Count empty elements bounded only by the 32-bit field. The SASL-mechanisms / SASL-init frame is parsed by amqp10_framing:decode_bin/1 from rabbit_amqp_reader.erl:412 before authentication completes. The pre-auth incoming_max_frame_size (default 8192 bytes) caps the frame, not the Count field, so a 19-byte payload with Count = 0xFFFFFFFF is accepted. No max_heap_size is set on the reader process. An unauthenticated network attacker can crash any RabbitMQ node that has the AMQP 1.0 listener enabled (default port 5672) by sending a single ~19-byte frame. The reader process attempts to build a list of ~4 billion empty elements, exhausting heap memory and terminating the Erlang VM. All tenants and protocols on the node lose service. Preconditions include Network reachability to the AMQP listener (port 5672, enabled by default) No authentication required. This issue is fixed in versions 3.13.15, 4.0.20, 4.1.11, and 4.2.6.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS