CVE-2026-66079
BilinmiyorTeknik Veri (Otomatik)
- CVSS Skoru
- —
- EPSS
- —
- CWE
- CWE-770
- KEV Durumu
- Hayır
RabbitMQ, bir mesajlaşma ve akış brokerıdır. 3.13.15, 4.0.20, 4.1.11 ve 4.2.6 sürümlerinden önceki sürümlerde, parse_array_primitive/2, 0x45 (list0) yapıcısı için bir eleman döndürür ve bu elemanın bayt genişliği B = 0 olur. 148. satırdaki array32 parser, kablodan 4 baytlık bir Count okur ve Count kez B bayt tüketerek döngüye girer, B = 0 ile hiçbir girdi tüketilmez ve döngü, 32 bitlik alana bağlı boş elemanların bir listesini oluşturur. SASL-mekanizmaları / SASL-init çerçevesi, rabbit_amqp_reader.erl:412'den amqp10_framing:decode_bin/1 tarafından kimlik doğrulama tamamlanmadan önce解析 edilir. Geleneksel incoming_max_frame_size (varsayılan 8192 bayt) çerçeveyi, Count alanını değil, sınırlar, bu nedenle Count = 0xFFFFFFFF ile 19 baytlık bir yük kabul edilir. Okuyucu işlemci için max_heap_size ayarlanmaz. Kimlik doğrulaması yapılmamış bir ağ saldırganı, AMQP 1.0 dinleyicisinin etkin olduğu (varsayılan port 5672) herhangi bir RabbitMQ düğümünü, tek bir ~19 baytlık çerçeve göndererek çökertebilir. Okuyucu işlemi, ~4 milyar boş elemanın bir listesini oluşturmaya çalışır, yığın belleğini tüketir ve Erlang VM'yi sonlandırır. Düğümdeki tüm kiracılar ve protokoller hizmet kaybına uğrar. Ön koşullar şunları içerir: AMQP dinleyicisine (port 5672, varsayılan olarak etkin) ağ erişimi. Kimlik doğrulaması gerekmez. Bu sorun, 3.13.15, 4.0.20, 4.1.11 ve 4.2.6 sürümlerinde giderilmiştir.
Orijinal açıklama (İngilizce)
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.
Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.
