Podatność w Apache IoTDB polega na niekontrolowanym użyciu mechanizmu refleksji Java (Unsafe Reflection), który pozwala atakującemu na wskazanie dowolnej klasy do załadowania i uruchomienia przez serwer. Jest to krytyczna luka umożliwiająca zdalne wykonanie kodu bez żadnego uwierzytelnienia.
▸ Pokaż oryginał (EN)
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in Apache IoTDB. The pipe processor reads a fully qualified Java class name and instantiates it using Class.forName().newInstance() without any validation or allowlisting. This issue affects Apache IoTDB: from 1.0.0 before 2.0.10. Users are recommended to upgrade to version 2.0.10, which fixes the issue.
Komponent pipe processor w Apache IoTDB odczytuje w pełni kwalifikowaną nazwę klasy Java podaną przez użytkownika, a następnie tworzy jej instancję za pomocą wywołania Class.forName().newInstance(). Mechanizm ten nie przeprowadza żadnej walidacji ani nie stosuje listy dozwolonych klas (allowlist), co oznacza, że atakujący może podać nazwę dowolnej klasy dostępnej w środowisku uruchomieniowym. Prowadzi to do wykonania niezaufanego kodu w kontekście procesu serwera (CWE-470: Use of Externally-Controlled Input to Select Classes or Code).
Atakujący zdalny i nieuwierzytelniony może doprowadzić do pełnego przejęcia kontroli nad serwerem — w tym do wykonania dowolnego kodu, odczytu i modyfikacji danych oraz niedostępności usługi.
Należy jak najszybciej zaktualizować Apache IoTDB do wersji 2.0.10, która eliminuje tę podatność poprzez wprowadzenie walidacji i mechanizmu allowlistingu ładowanych klas. Szczegóły dostępne są w referencjach producenta: https://lists.apache.org/thread/fm8cpvzbox2qqy99ztglm8wkk1nrg9ng
Apache IoTDB w wersjach od 1.0.0 do 2.0.10 (wyłącznie), tj. wszystkie wydania od 1.0.0 przed 2.0.10.
Informacja o podatności została opublikowana przez Apache Software Foundation w dniu 2026-07-10 za pośrednictwem listy mailingowej oss-security.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H