CVE-2026-82439
KrytyczneCVSS 9.8Streszczenie
Serwer DRPC w Apache Storm utrzymuje mapę nazw funkcji do kolejek żądań, a wpisy nigdy nie są usuwane. Atakujący może wysyłać dowolne nazwy funkcji bez uwierzytelnienia (ponieważ `drpc.authorizer` jest domyślnie wyłączony), co prowadzi do niekontrolowanego wzrostu pamięci i ostatecznie do wyczerpania sterty.
Ocena ryzyka
Niezautoryzowany atakujący może spowodować wyczerpanie zasobów pamięci serwera DRPC, co prowadzi do jego niedostępności (DoS) i zakłócenia działania usług zależnych.
Rekomendacja
Należy zaktualizować Apache Storm do wersji 3.1.0. Jeśli aktualizacja nie jest możliwa, skonfiguruj `drpc.authorizer` tak, aby tylko zaufane podmioty miały dostęp do punktów DRPC, oraz upewnij się, że porty DRPC nie są dostępne z niezaufanych sieci.
Inne podatności w Apache Storm
Zobacz wszystkie- CVE-2026-82433Średnie
W Apache Storm przed wersją 3.1.0 funkcja getNimbusConf zwraca pełną konfigurację bez maskowania poufnych danych, a endpoint UI /api/v1/cluster/configuration nie wymaga odpowiedniej autoryzacji, co może ujawnić hasła i klucze.
- CVE-2026-82432Wysokie
W Apache Storm przed wersją 3.1.0 operacja rebalance nie ponownie weryfikuje mapy blobstore względem uprawnień, a także listBlobs nie sprawdza autoryzacji, co pozwala uprawnionemu użytkownikowi na dostęp do niedozwolonych blobów i ujawnienie metadanych.
- CVE-2026-82428Wysokie
Podatność w Apache Storm dotyczy funkcji `storm jar --artifacts`, która przechowuje artefakty zależności pod kluczem opartym wyłącznie na współrzędnych Maven, co czyni go przewidywalnym i wspólnym dla wszystkich użytkowników. Jeśli blob już istnieje, jest on cicho ponownie wykorzystywany bez weryfikacji właściciela, co pozwala atakującemu na podstawienie własnych danych, prowadząc do wykonania kodu w topologii innego użytkownika.
- CVE-2026-82427Wysokie
Podatność w Apache Storm umożliwia atakującemu wykorzystanie ścieżek względnych (../) w mapie `topology.blobstore.map` do wymuszenia usunięcia i utworzenia dowiązania symbolicznego w dowolnym miejscu systemu plików, działając jako użytkownik nadzorcy (supervisor). Może to prowadzić do rekurencyjnego usuwania danych oraz podmiany dowiązań, co przy uruchamianiu workerów pozwala na wykonanie kodu atakującego w kontekście innego użytkownika systemu, łamiąc izolację między tenantami.
- CVE-2026-82426Średnie
Podatność w Apache Storm pozwala uwierzytelnionemu użytkownikowi z prawami do przesyłania topologii na wskazanie dowolnej ścieżki pliku jako jar topologii, zamiast wymaganego pliku przesłanego przez klienta. Nimbus otwiera tę ścieżkę bez weryfikacji, czy plik został faktycznie przesłany, co umożliwia odczyt plików dostępnych dla użytkownika demona Nimbus.
- CVE-2026-84179Średnie
Podatność w Apache Storm pozwala na odczyt danych uwierzytelniających (np. storm.zookeeper.auth.payload, hasła do keystore/truststore) przez nieautoryzowanych użytkowników korzystających z API topologii, ponieważ konfiguracja Nimbusa jest łączona z konfiguracją topologii i zwracana bez maskowania.
- CVE-2014-0115Wysokie
Podatność na przejście katalogu w narzędziu do przeglądania logów w Apache Storm 0.9.0.1 pozwala zdalnym atakującym na odczyt dowolnych plików poprzez wykorzystanie parametru pliku z sekwencją .. (kropka kropka).
- CVE-2026-82435Krytyczne
W Apache Storm przed wersją 3.1.0 istnieje podatność: dekoder Netty jest instalowany przed uwierzytelnianiem i przetwarza ramki bez weryfikacji, co pozwala nieuwierzytelnionemu atakującemu na alokację dużych buforów i potencjalne przeciążenie pamięci roboczych.
- CVE-2015-3188Krytyczne
Demon UI w Apache Storm w wersji 0.10.0 przed 0.10.0-beta1 umożliwia zdalnym atakującym wykonanie dowolnego kodu poprzez nieokreślone wektory.
Oryginalny opis (angielski, źródło NVD)
Description The DRPC server kept a map from function name to request queue and created an entry the first time a function name was seen. No code path ever removed an entry: request cleanup removed the request from its queue, and the shutdown path drained queues, but the queue object and its map entry remained for the life of the process. Function names come from the client and are not constrained to functions any topology has registered, so the number of retained entries is bounded only by the number of distinct names an attacker chooses to send, and each retained entry holds the name itself. `drpc.authorizer` is unset by default, so no credentials are required to reach the endpoint. The retained state is permanent rather than a transient load spike, so the effect accumulates until the DRPC server exhausts its heap. Mitigation Upgrade to 3.1.0, where a function's queue is removed once nothing is waiting in it. Users who cannot upgrade immediately should configure `drpc.authorizer` so that only trusted principals can reach the DRPC endpoints, and should ensure the DRPC ports are not reachable from untrusted networks. Credit The ASF -- found using Claude agents to study the security of open-source projects, validated and reported by Apache Storm.

