CVE-2026-82429
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
Podatność typu TOCTOU (time-of-check-time-of-use) w binarnym pliku worker-launcher z uprawnieniami setuid-root w Apache Storm. Program podczas przeglądania drzew katalogów roboczych wywołuje lchown i chmod na pełnych ścieżkach, które są ponownie rozwiązywane po klasyfikacji przez FTS. Złośliwy użytkownik topologii może podmienić katalog pośredni na dowiązanie symboliczne i przekierować uprzywilejowaną operację na dowolny plik w systemie.
Ocena ryzyka
Atakujący uruchamiający kod na węźle supervisor może zmienić właściciela lub uprawnienia dowolnego pliku na hoście, co pozwala na eskalację uprawnień i przełamanie izolacji kontenerów oraz granicy supervisor.run.worker.as.user. Operacja jest powtarzalna, więc nieudane próby nie kosztują atakującego nic.
Rekomendacja
Zaktualizuj Apache Storm do wersji 3.1.0, w której uprzywilejowane przeglądanie działa na deskryptorach plików zamiast na ścieżkach. Pamiętaj, że po aktualizacji należy przebudować i ponownie zainstalować binarny plik worker-launcher — sama wymiana artefaktów Java nie wystarczy. Jeśli aktualizacja nie jest możliwa, nie uruchamiaj niezaufanego kodu topologii na supervisorach z włączonym supervisor.run.worker.as.user.
Inne podatności w Apache Storm
Zobacz wszystkie- 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-2026-82431Krytyczne
W komponencie SimpleACLAuthorizer w Apache Storm autoryzacja kończyła się wcześnie, gdy lista nimbus.users była pusta, pomijając sprawdzanie nimbus.groups. W efekcie konfiguracja ograniczająca dostęp wyłącznie przez grupy nie działała i każdy uwierzytelniony użytkownik mógł wykonywać wszystkie operacje na poziomie użytkownika, w tym submitTopology, beginFileUpload i getNimbusConf. Problem naprawiono w wersji 3.1.0.
- CVE-2026-82441Krytyczne
Podatność w Apache Storm pozwala osobie przesyłającej topologię na usunięcie blobów należących do innych topologii poprzez podanie ich kluczy w listach `dependency_jars` i `dependency_artifacts`. Ponadto, brak walidacji może doprowadzić do sytuacji, w której Nimbus nie utrzyma przywództwa, co uniemożliwi działanie klastra.
- CVE-2026-82439Krytyczne
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.
- 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.
- CVE-2026-82438Wysokie
W komponentach HTTP Apache Storm wykryto trzy niezależne mechanizmy, które pozwalały stronie internetowej z niezwiązanego originu odczytywać odpowiedzi serwowane uwierzytelnionemu użytkownikowi. Logviewer odbijał nagłówek Origin w Access-Control-Allow-Origin wraz z Access-Control-Allow-Credentials: true, wspólny filtr CORS był błędnie skonfigurowany (podano nazwę nagłówka odpowiedzi zamiast parametru inicjalizacyjnego, przez co kontener stosował własne domyślne ustawienia zezwalające na poświadczenia), a UI i Logviewer opakowywały odpowiedzi API w JSONP dla każdego żądania GET. W każdym przypadku strona odwiedzona przez uwierzytelnionego operatora może w jego imieniu odczytać dane klastra, topologii i logi.
- CVE-2026-82434Średnie
Gdy skonfigurowane jest uwierzytelnianie ZooKeeper, Storm celowo zachowuje storm.zookeeper.topology.auth.payload w konfiguracji topologii, a Nimbus udostępnia tę konfigurację każdemu użytkownikowi z uprawnieniami tylko do odczytu topologii. Użytkownik z uprawnieniami wyłącznie do przeglądania topologii otrzymuje poświadczenie ZooKeeper, które ma uprawnienia zapisu i pozwala fałszować lub usuwać stan topologii. Poświadczenie trafia także do logów (INFO w kliencie zgłoszeń, DEBUG w handlerach SASL), a poprawka w wersji 3.1.0 usuwa je z konfiguracji i logów.
- 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.
Oryginalny opis (angielski, źródło NVD)
Description The setuid-root `worker-launcher` binary adjusts ownership and permissions of worker directories by walking the tree with FTS and calling `lchown` and `chmod` on each entry's full pathname while running with an effective uid of 0. Both syscalls re-resolve the path at the time of the call, after FTS has classified the entry, and the trees being walked are owned and writable by the untrusted topology user. A tenant running code on a supervisor node could therefore replace an intermediate directory component with a symbolic link between classification and the privileged operation, redirecting the root-owned `lchown` or `chmod` at an arbitrary file on the host. The operation is repeatable at will, since crashing a worker forces a relaunch and blob updates re-run the walk, so a failed attempt costs the attacker nothing. This crosses the boundary that `supervisor.run.worker.as.user` and container isolation are intended to enforce. It is the same defect class as the Hadoop container-executor issues from which this code derives. Mitigation Upgrade to 3.1.0, where the privileged walk operates on file descriptors it has already stat'd rather than on pathnames re-resolved at call time. Users who cannot upgrade immediately should not run untrusted topology code on supervisors configured with `supervisor.run.worker.as.user`, since the launcher is the boundary being crossed. Note that the launcher must be rebuilt and reinstalled after upgrading; replacing the Java artifacts alone is not sufficient. Credit The ASF -- found using Claude agents to study the security of open-source projects, validated and reported by Apache Storm.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

