CVE-2026-66073
ŚrednieCVSS 6.0Streszczenie
RabbitMQ w wersjach od 3.13.0 do 3.13.15, 4.0.20, 4.1.11 i 4.2.6 ma podatność na wyczerpanie tablicy atomów przez pole node w API zarządzania. Żądanie PUT /api/queues/:vhost/:name (oraz endpointy exchanges i bindings) przyjmuje pole JSON node, które jest konwertowane na atom bez sprawdzenia przynależności do klastra. Każda unikalna wartość trwale wycieka jeden atom, a około 900 tysięcy żądań może zawiesić maszynę wirtualną.
Ocena ryzyka
Każdy użytkownik z tagiem management i jednym vhostem może doprowadzić do awarii całej maszyny wirtualnej, co skutkuje utratą dostępności dla wszystkich dzierżawców.
Rekomendacja
Zaktualizuj RabbitMQ do wersji 3.13.15, 4.0.20, 4.1.11 lub 4.2.6, aby naprawić podatność.
Inne podatności w RabbitMQ
Zobacz wszystkie- CVE-2026-67421Średnie
W RabbitMQ Management, gdy włączony jest interfejs OAuth, powód błędu autoryzacji AMQP zawierający nazwę kolejki kontrolowaną przez atakującego jest renderowany jako HTML. Nazwa kolejki z elementem base może przekierować automatyczne odświeżanie, a przez CORS atakujący może przechwycić nagłówek Authorization administratora.
- CVE-2026-67420Niskie
RabbitMQ w wersjach od 3.13.0 do 3.13.19, 4.0.24, 4.1.15, 4.2.10 i 4.3.5 zawiera podatność, w której odświeżenie poświadczeń OAuth utrzymuje wygasłe tagi runtime. Kiedy istniejące połączenie AMQP odświeża token OAuth z uprawnieniem impersonator na token z tą samą nazwą użytkownika, ale bez tego uprawnienia, tag 'impersonator' pozostaje w połączeniu. Dzięki temu połączenie (w tym nowo otwarte kanały) może dalej publikować wiadomości z obcym AMQP userid, mimo że powinno to być już odwołane.
- CVE-2026-67419Wysokie
Podatność w RabbitMQ przed wersją 4.3.5. Uwierzytelniony użytkownik, który może powiązać kolejkę z wymianą tematyczną i publikować do niej, może użyć kolejnych segmentów # w kluczu powiązania, co powoduje, że oba matchery tematyczne przetwarzają te same stany bez memoizacji. Skutkuje to duplikowaniem miejsc docelowych przed deduplikacją, co prowadzi do kombinatorycznego obciążenia CPU i pamięci, zakłócając routing dla wszystkich dzierżawców.
- CVE-2026-67415Średnie
Parser parametrów Shovel w RabbitMQ konwertuje wartości parametrów kontrolowane przez atakującego na atomy Erlanga, które nie podlegają garbage collection, przed ich ograniczeniem lub sprawdzeniem dozwolonej listy. Atakujący może wyczerpać tablicę atomów węzła i spowodować odmowę usługi, a złośliwe parametry są trwale zapisywane i ponownie parsowane po restarcie.
- CVE-2026-67413Średnie
Wtyczka rabbitmq_jms_topic_exchange w RabbitMQ przyjmuje kontrolowane przez klienta wyrażenie rjms_erlang_selector, którego ewaluator LIKE rozwija wildcardy do nakładających się fragmentów PCRE wykonywanych bez limitów dopasowania lub rekurencji. Uwierzytelniony najemca może wyczerpać CPU brokera i spowodować odmowę usługi.
- CVE-2026-67412Średnie
Federation upstream w RabbitMQ pomija autoryzację vhost, umożliwiając dostęp do wiadomości między vhostami. Policy maker na jednym vhost może czytać i usuwać wiadomości z innego vhosta, do którego nie ma uprawnień, a przy domyślnym trybie ack wiadomości źródłowe są konsumowane, a nie kopiowane.
- CVE-2026-67411Średnie
Natywny MQTT i MQTT over WebSocket za zaufanym frontendem PROXY Protocol w RabbitMQ mogą utracić adres klienta pochodzący z proxy przed sprawdzeniem loopback_users, przez co adres frontend-broker jest traktowany jako loopback. Atakujący z ważnymi poświadczeniami dla konta ograniczonego do loopback może obejść ograniczenie adresu źródłowego.
- CVE-2026-67407Średnie
Niekompletna poprawka CVE-2026-44838 w RabbitMQ: funkcja escaperegexchar/1 nie escapuje znaku -, co umożliwia obejście uprawnień do tematów MQTT. Gdy szablon uprawnień umieszcza {clientid} wewnątrz klasy znaków [...], nisko uprzywilejowany użytkownik MQTT może rozszerzyć autoryzację tematów.
- CVE-2026-67406Średnie
Shovel w RabbitMQ nie formatuje stanu logowanego przez crash reporter, co może pozostawić niezaszyfrowane poświadczenia w pliku zrzutu awarii. Gdy procesy worker Shovel ulegają awarii, OTP SASL zapisuje pełny stan procesu, w tym jawnotekstowe hasła i URI AMQP, do logu błędów.
- CVE-2026-67242Średnie
W RabbitMQ OAuth2 guard isinteger(Exp) pomija sprawdzanie wygaśnięcia tokenu dla wykładniczej wartości exp typu float. Gdy IdP wysyła exp jako float, zarówno sprawdzenie przy logowaniu, jak i timer rozłączenia są pomijane, przez co wygasły token jest akceptowany, a połączenia nigdy nie wygasają.
Oryginalny opis (angielski, źródło NVD)
RabbitMQ is a messaging and streaming broker. From 3.13.0 until 3.13.15 and 4.0.20 and 4.1.11 and 4.2.6, Atom table exhaustion via management API node field. pUT /api/queues/:vhost/:name (and the exchanges and bindings endpoints) accepts a node JSON field. The value goes through rabbitnodes:make → listtoatom with no cluster membership check first. Each unique value permanently leaks one atom. A March 2026 refactoring (ea61ce2563) introduced safe helpers in rabbitmgmtnodes.erl (parsenodename, safeatom, and requirenodename, using binarytoexistingatom) and fixed several callers (QQ replica ops, wmauthattempts, wmnodememoryets, getsortreverse, and rabbitfederationmgmt), but getnode/1 in rabbitmgmtutil.erl:880-885, the primary vector used by directrequest/6, was not Roughly 900K requests crash the VM via systemlimit, and all tenants lose Any user with the management tag and one vhost, the lowest privilege This issue is fixed in versions 3.13.15 and 4.0.20 and 4.1.11 and 4.2.6.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

