CVE-2026-67232
BilinmiyorTeknik Veri (Otomatik)
- CVSS Skoru
- —
- EPSS
- —
- CWE
- CWE-409
- KEV Durumu
- Hayır
RabbitMQ, bir mesajlaşma ve akış brokerıdır. 3.13.15, 4.0.20, 4.1.11, 4.2.6 ve 4.3.0 sürümlerinden önceki sürümlerde, 117. satırdaki cowboy WebSocket seçenekleri compress => true olarak ayarlanır ve bu da RFC 7692 permessage-deflate negociasyonunu etkinleştirir. İşleyici max_frame_size ayarını koymaz, bu nedenle cowboy'ın varsayılan olarak sonsuz.apply uygulanır. cowlib'in cow_ws:parse_payload/9 çağrısı, zlib:inflate/2'yi çıktısı sınırlandırılmayan sıkıştırılmış yük üzerinde çağırır. Saldırgan, WebSocket yükseltmesi sırasında permessage-deflate negociasyonunu gerçekleştirebilir ve 50 KB → 5 GB gibi bir zlib bombası içeren bir çerçeve gönderebilir. Dekompresyon, websocket_handle/2'nin MQTT baytlarını görmesinden önce bağlantı işlemi sırasında gerçekleşir. Kimlik doğrulamayan bir saldırgan, Web-MQTT eklentisini çalıştıran bir RabbitMQ düğümünü, birkaç KB'lik yüksek derecede sıkıştırılmış bir WebSocket çerçevesi (hafızada gigabayta kadar şişirilir) göndererek çökertebilir. cowboy WebSocket işleyici, MQTT CONNECT paketinin işlenmesinden önce tüm çerçeveyi dekompresler, bu nedenle kimlik bilgileri gerekmez. Ön koşullar şunları içerir: rabbitmq_web_mqtt eklentisi etkin (varsayılan değil, ancak tarayıcı istemcileri için yaygın), 15675/15676 portlarına ağ erişimi ve kimlik doğrulama gerekmez. Bu sorun, 3.13.15, 4.0.20, 4.1.11, 4.2.6 ve 4.3.0 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, 4.2.6, and 4.3.0, The cowboy WebSocket options at line 117 set compress => true, enabling RFC 7692 permessage-deflate negotiation. The handler does not set max_frame_size, so cowboy's default of infinity applies. cowlib's cow_ws:parse_payload/9 calls zlib:inflate/2 on the compressed payload with no output-size limit. An attacker can negotiate permessage-deflate during the WebSocket upgrade and send a frame containing a zlib bomb (e.g. 50 KB → 5 GB). Decompression occurs in the connection process before websocket_handle/2 ever sees the MQTT bytes. An unauthenticated attacker can crash a RabbitMQ node running the Web-MQTT plugin by sending a single highly-compressed WebSocket frame (a few KB on the wire) that inflates to gigabytes in memory. The cowboy WebSocket handler decompresses the entire frame before the MQTT CONNECT packet is processed, so no credentials are required. Preconditions include rabbitmq_web_mqtt plugin enabled (not default, but common for browser clients) Network reachability to port 15675/15676 No authentication required. This issue is fixed in versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, and 4.3.0.
Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.
