Apache Kylin pozwala atakującemu na przekazanie danych wejściowych, które są użyte do dynamicznego załadowania dowolnej klasy Java za pomocą mechanizmu Class.forName(). Jest to podatność krytyczna, umożliwiająca zdalne wykonanie kodu bez żadnego uwierzytelnienia.
▸ Pokaż oryginał (EN)
Kylin can receive user input and load any class through Class.forName(...). This issue affects Apache Kylin 2 version 2.6.6 and prior versions; Apache Kylin 3 version 3.1.2 and prior versions; Apache Kylin 4 version 4.0.0 and prior versions.
Aplikacja Apache Kylin przyjmuje dane wejściowe od użytkownika i bez odpowiedniej walidacji przekazuje je bezpośrednio do funkcji Class.forName(), co odpowiada podatności typu CWE-470 (Use of Externally-Controlled Input to Select Classes or Code). Atakujący może wskazać dowolną klasę dostępną w środowisku JVM lub classpath aplikacji, wymuszając jej załadowanie i potencjalnie wykonanie złośliwego kodu. Mechanizm ten jest dostępny zdalnie, bez konieczności posiadania jakichkolwiek uprawnień, co czyni podatność wyjątkowo niebezpieczną.
Atakujący może uzyskać pełną kontrolę nad serwerem — w tym poufność, integralność oraz dostępność systemu są całkowicie zagrożone. Możliwe jest zdalne wykonanie kodu (RCE) prowadzące do przejęcia serwera aplikacyjnego.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się aktualizację do wersji wyższych niż wskazane jako podatne: powyżej 2.6.6 dla gałęzi 2.x, powyżej 3.1.2 dla gałęzi 3.x oraz powyżej 4.0.0 dla gałęzi 4.x. Szczegółowe informacje dostępne są w ogłoszeniu projektu Apache Kylin na liście oss-security.
Apache Kylin 2 w wersjach 2.6.6 i wcześniejszych; Apache Kylin 3 w wersjach 3.1.2 i wcześniejszych; Apache Kylin 4 w wersji 4.0.0 i wcześniejszych.
Podatność została opublikowana 6 stycznia 2022 roku na liście oss-security projektu OpenWall. CVSS wynosi 9.8 (CRITICAL), jednak brak potwierdzenia aktywnego exploitowania w katalogu CISA KEV.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Kylin
APPApache4.0.02.0.0 – 2.6.63.0.0 – 3.1.3 (bez)
Powiązane podatności
OS Command Injection w Apache Kylin — nieautoryzowane wykonanie poleceń
Session Fixation w Apache Kylin — przejęcie sesji użytkownika
Apache Kylin — command injection w Diagnosis Controller via HTTP
Apache Kylin — Command Injection w funkcji projektanta kostek (RCE)
Command injection w Apache Kylin poprzez nazwę projektu