W aplikacji pig-mesh Pig w wersjach 3.8.2 i wcześniejszych możliwe jest zdalne wykonanie dowolnego kodu (RCE) poprzez mechanizm zarządzania zadaniami zaplanowanymi (Quartz). Podatność jest szczególnie groźna, ponieważ umożliwia pełną kompromitację serwera.
▸ Pokaż oryginał (EN)
In pig-mesh Pig versions 3.8.2 and below, when setting up scheduled tasks in the Quartz management function under the system management module, it is possible to execute any Java class with a parameterless constructor and its methods with parameter type String through reflection. At this time, the eval method in Tomcat's built-in class jakarta.el.ELProcessor can be used to execute commands, leading to a remote code execution vulnerability.
Funkcja zarządzania zadaniami Quartz w module administracji systemem pozwala na wywołanie dowolnej klasy Java posiadającej bezargumentowy konstruktor oraz jej metod przyjmujących parametr typu String — przy użyciu mechanizmu refleksji (reflection). Atakujący może wykorzystać wbudowaną w serwer Tomcat klasę jakarta.el.ELProcessor i jej metodę eval, która umożliwia ewaluację wyrażeń EL (Expression Language). Przekazując odpowiednio spreparowane wyrażenie, atakujący wykonuje dowolne polecenia systemowe po stronie serwera.
Atakujący z uprawnieniami administracyjnymi może wykonać dowolne polecenia na serwerze, co prowadzi do pełnego przejęcia kontroli nad systemem — włącznie z kradzieżą danych, instalacją backdoorów oraz naruszeniem integralności i dostępności aplikacji.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Jako doraźne obejście zaleca się ograniczenie dostępu do funkcji zarządzania zadaniami Quartz wyłącznie do zaufanych administratorów oraz wdrożenie dodatkowej kontroli dostępu sieciowego (firewall, VPN) do panelu administracyjnego.
pig-mesh Pig w wersji 3.8.2 i niższych
Mimo że wektor ataku wymaga uprawnień administratora (PR:H), podatność uzyskała ocenę CVSS 9.1 ze względu na zmianę zakresu (Scope:Changed) i pełne naruszenie poufności, integralności oraz dostępności. Publiczny opis podatności wraz z proof-of-concept dostępny jest w repozytorium GitHub wskazanym w referencjach.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:HPig4cloud Pig
APPPig4Cloud≤ 3.8.2