Apache Kylin 4.0.0 zawiera podatność typu command injection w komponencie DiagnosisService, umożliwiającą zdalnemu atakującemu wykonanie dowolnych poleceń systemowych bez uwierzytelnienia. Wysoki wynik CVSS 9.8 odzwierciedla krytyczne zagrożenie dla poufności, integralności i dostępności systemu.
▸ Pokaż oryginał (EN)
Apache kylin checks the legitimacy of the project before executing some commands with the project name passed in by the user. There is a mismatch between what is being checked and what is being used as the shell command argument in DiagnosisService. This may cause an illegal project name to pass the check and perform the following steps, resulting in a command injection vulnerability. This issue affects Apache Kylin 4.0.0.
Apache Kylin weryfikuje poprawność nazwy projektu przed wykonaniem niektórych poleceń powłoki, jednak w komponencie DiagnosisService istnieje rozbieżność między wartością poddawaną walidacji a wartością faktycznie przekazywaną jako argument polecenia systemowego. Atakujący może spreparować złośliwą nazwę projektu, która przejdzie walidację, lecz zawierać będzie dodatkowe sekwencje poleceń powłoki. W rezultacie wstrzyknięte polecenia zostaną wykonane w kontekście procesu serwera aplikacji.
Nieuwierzytelniony zdalny atakujący może wykonać dowolne polecenia systemowe na serwerze hostującym Apache Kylin, co prowadzi do pełnego przejęcia kontroli nad systemem, wycieku danych oraz potencjalnego naruszenia dostępności usługi.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się pilną aktualizację Apache Kylin do wersji wolnej od podatności, opublikowanej przez projekt Apache.
Apache Kylin 4.0.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Kylin
APPApache4.0.0
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)
Apache Kylin — dynamiczne ładowanie klas przez niezaufane dane wejściowe