Podatność w pliku DataSourceResource.java w Knowage Server (przed wersją 8.1.30) pozwala atakującemu na wstrzyknięcie dowolnej nazwy zasobu JNDI (Resource Injection, CWE-99). Jest to podatność krytyczna, ponieważ nieuwierzytelniony (ale posiadający uprawnienia administratora) atakujący sieciowy może wymusić na serwerze połączenie z dowolnym zasobem JNDI, co może prowadzić do przejęcia kontroli nad systemem.
▸ Pokaż oryginał (EN)
DataSourceResource.java in the SpagoBI API support in Knowage Server in KNOWAGE before 8.1.30 does not ensure that java:comp/env/jdbc/ occurs at the beginning of a JNDI Name.
Plik DataSourceResource.java, odpowiedzialny za obsługę źródeł danych w ramach SpagoBI API, nie weryfikuje, czy przekazywana nazwa JNDI rozpoczyna się od wymaganego prefiksu 'java:comp/env/jdbc/'. Brak tej walidacji umożliwia atakującemu podanie dowolnej ścieżki JNDI, w tym wskazującej na zewnętrzny lub złośliwy serwer JNDI. W konsekwencji serwer może zostać zmuszony do załadowania i wykonania kodu z zewnętrznego źródła, co jest klasycznym wektorem ataku Resource Injection.
Atakujący posiadający dostęp do interfejsu API z uprawnieniami wysokiego poziomu może uzyskać pełną kontrolę nad serwerem, w tym dostęp do poufnych danych, możliwość modyfikacji konfiguracji oraz potencjalne zdalne wykonanie kodu (RCE) poprzez podstawiony zasób JNDI.
Należy zaktualizować Knowage Server do wersji 8.1.30 lub nowszej. Poprawka została wprowadzona w commicie f7d0362f737e1b0db1cc9cc95b1236d62d83dd0c dostępnym w oficjalnym repozytorium projektu na GitHub.
Knowage Server we wszystkich wersjach przed 8.1.30
Publiczny opis techniczny podatności jest dostępny w repozytorium darumaseye/CVEs na GitHub, co potwierdza istnienie szczegółowej dokumentacji pozwalającej na odtworzenie wektora ataku.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H