CVE-2026-67218
NiskieCVSS 2.1Streszczenie
W RabbitMQ przed wersjami 4.0.22, 4.1.11, 4.2.6 i 4.3.0 handler HTTP accept_content/2 wywołuje create_super_stream bez wymaganego sprawdzenia uprawnień configure na wymianie i kolejkach partycji, które jest obecne w ścieżce protokołu strumieniowego. Użytkownik z tagiem management i dostępem do vhosta, ale bez uprawnień configure, może tworzyć super-strumienie przez API HTTP.
Ocena ryzyka
Następuje eskalacja uprawnień z możliwości przeglądania do tworzenia trwałych zasobów klastra, co może prowadzić do nieautoryzowanego zajęcia zasobów i zakłócenia pracy. Wymaga włączonej wtyczki rabbitmq_stream_management oraz tagu management.
Rekomendacja
Zaktualizuj RabbitMQ do wersji 4.0.22, 4.1.11, 4.2.6 lub 4.3.0. Przeglądaj i ograniczaj uprawnienia użytkowników z tagiem management oraz dostępem do vhostów.
Inne podatności w RabbitMQ
Zobacz wszystkie- CVE-2026-67405Średnie
RabbitMQ przed wersjami 3.13.15, 4.0.20, 4.1.11, 4.2.6 i 4.3.0 nie weryfikuje nagłówka Origin podczas uaktualnienia WebSocket w handlerach Web-MQTT i Web-STOMP. Przy włączonym ssl_cert_login=true przeglądarka automatycznie przedstawia certyfikat klienta, więc złośliwy JavaScript w przeglądarce ofiary może uwierzytelnić się jako ofiara.
- CVE-2026-67240Niskie
RabbitMQ przed wersjami 4.2.7 i 4.3.1 nie nakłada jawnego limitu dopasowań podczas kompilacji wzorców LIKE do wyrażeń regularnych, co pozwala uwierzytelnionemu konsumentowi AMQP 1.0 z uprawnieniami odczytu i zapisu na kolejce strumieniowej wywołać znaczne zużycie CPU poprzez spreparowany filtr LIKE. Każda dostarczona wiadomość może powodować około 100-200 ms obciążenia CPU, co przy tysiącach wiadomości i równoległych sesjach daje amplifikację. Problem został naprawiony w wersjach 4.2.7 i 4.3.1.
- CVE-2026-67235Wysokie
RabbitMQ przed wersjami 4.3.0, 4.2.6, 4.1.11, 4.0.20 i 3.13.15 przechowuje wartość BodySize z nagłówka content-header bez walidacji względem max_message_size. Klient może zadeklarować body_size = 2^63-1 i strumieniować fragmenty, przez co kontrola rozmiaru nigdy się nie uruchamia, a proces czytający gromadzi nieograniczoną ilość pamięci. Prowadzi to do wyczerpania pamięci węzła lub alarmu pamięciowego i degradacji wszystkich wydawców w klastrze.
- CVE-2026-67232Wysokie
RabbitMQ przed wersjami 3.13.15, 4.0.20, 4.1.11, 4.2.6 i 4.3.0 włącza kompresję permessage-deflate w WebSocket (RFC 7692) bez limitu rozmiaru ramki i bez limitu rozmiaru wyjściowego dekompresji. Nieuwierzytelniony atakujący może wysłać silnie skompresowaną ramkę WebSocket (tzw. bombę zlib), która po dekompresji zajmuje gigabajty pamięci, powodując awarię węzła RabbitMQ z włączoną wtyczką Web-MQTT.
- CVE-2026-67229Średnie
RabbitMQ przed wersjami 3.13.15, 4.0.20, 4.1.11, 4.2.6 i 4.3.0 wywołuje rabbit_data_coercion:atomize_keys/1 (niebezpieczny wariant używający binary_to_atom) na mapie metadanych vhosta. Administrator importujący spreparowany plik definicji może wyczerpać tablicę atomów i zawiesić węzeł w jednym żądaniu.
- CVE-2026-67228Średnie
RabbitMQ przed wersjami 4.2.7 i 4.3.1 w ścieżce wyszukiwania parametrów runtime konwertuje segment :component z URL na atom za pomocą rabbit_data_coercion:to_atom/1, tworząc nowy atom dla każdej nieznanej wartości. Uprawniony policymaker może wysłać około miliona żądań z różnymi wartościami component, wyczerpując tablicę atomów i zawieszając węzeł.
- CVE-2026-67224Niskie
W RabbitMQ przed wersjami 3.13.15, 4.0.20, 4.1.11, 4.2.6 i 4.3.1 konsument trace tworzy ścieżkę wyjściową bez sprawdzenia bezpieczeństwa ścieżki względnej, mimo że strona odczytu takie sprawdzenie wykonuje. Administrator może poprzez parametr name zapisać plik z rozszerzeniem .log w dowolnej lokalizacji zapisywalnej przez użytkownika rabbitmq, np. /etc/cron.d/x.log.
- CVE-2026-67221Średnie
RabbitMQ przed wersjami 3.13.15, 4.0.20, 4.1.11, 4.2.6 i 4.3.0: shovel AMQP 0-9-1 usuwa poświadczenia przed zapisaniem URI połączenia, ale shovel AMQP 1.0 przechowuje surowy URI zawierający hasło. Zapisany URI jest widoczny przez GET /api/shovels oraz rabbitmqctl shovel_status.
- CVE-2026-67220Średnie
RabbitMQ przed wersjami 3.13.15, 4.0.20, 4.1.11, 4.2.6 i 4.3.0: przy tworzeniu bindingu na wymianie x-jms-topic funkcja add_binding/3 odczytuje argument rjms_erlang_selector i przetwarza go przez erl_scan:string/1 oraz erl_parse:parse_term/1. erl_scan:string/1 internuje każdy atom, a validate_binding/2 jest no-op bez limitu długości. Uwierzytelniony użytkownik AMQP o niskich uprawnieniach może zawiesić cały węzeł brokera w mniej niż 100 wywołaniach bind.
- CVE-2026-67219Średnie
RabbitMQ przed wersjami 3.13.15, 4.0.20, 4.1.11, 4.2.6 i 4.3.0: add_binding/3 parsuje klucz routingu jako całkowitą wagę N i oblicza pozycje pierścienia przez lists:seq(NextN0, NextN0 + N - 1). validate_binding/2 sprawdza tylko N >= 1, bez górnego limitu. Użytkownik z uprawnieniami zapisu na wymianie consistent-hash może utworzyć binding z ogromną wagą, alokując setki megabajtów na każdym węźle klastra.
Oryginalny opis (angielski, źródło NVD)
RabbitMQ is a messaging and streaming broker. Prior to versions 4.0.22, 4.1.11, 4.2.6, and 4.3.0, accept_content/2 at line 56 calls rabbit_stream_manager:create_super_stream/... directly after is_authorized (which only checks the management tag + vhost access via is_authorized_vhost). The stream-protocol equivalent (rabbit_stream_reader.erl create_super_stream handler) calls rabbit_stream_utils:check_super_stream_management_permitted/4 which enforces configure on the exchange and each partition queue. The HTTP handler omits this call entirely. A user with management tag and vhost access , but no configure permission on any resource , can create super-streams (an exchange + N partition stream queues + bindings) via the HTTP API. The native stream-protocol path enforces configure on each resource; the HTTP path does not, creating a privilege escalation from 'can view' to 'can create persistent cluster-wide resources.' Preconditions include rabbitmq_stream_management plugin enabled management tag + vhost access (no resource permissions needed). This issue is fixed in versions 4.0.22, 4.1.11, 4.2.6, and 4.3.0.

