Podatność umożliwia zdalne wykonanie kodu (RCE) w aplikacji Shopxo 1.9.3 poprzez upload spreparowanego pliku PHAR z rozszerzeniem JPG. Brak uwierzytelnienia i sieciowa dostępność ataku czynią tę lukę szczególnie niebezpieczną.
▸ Pokaż oryginał (EN)
A remote command execution vulnerability in shopxo 1.9.3 allows an attacker to upload malicious code generated by phar where the suffix is JPG, which is uploaded after modifying the phar suffix.
Atakujący tworzy złośliwy plik PHAR zawierający wykonalny kod, a następnie zmienia jego rozszerzenie na JPG, obchodząc w ten sposób mechanizmy weryfikacji przesyłanych plików. Po uploadzie na serwer, plik może zostać wywołany za pomocą wrappera PHAR w PHP, co prowadzi do wykonania zawartego w nim kodu po stronie serwera. Podatność klasyfikowana jest jako CWE-434 (Unrestricted Upload of File with Dangerous Type), co oznacza brak skutecznej walidacji rzeczywistego typu przesyłanych plików.
Atakujący uzyskuje możliwość zdalnego wykonania dowolnego kodu na serwerze (RCE) bez konieczności uwierzytelnienia, co może prowadzić do pełnego przejęcia kontroli nad systemem, wycieku danych oraz naruszenia integralności i dostępności aplikacji.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Rekomenduje się również wdrożenie dodatkowej walidacji typu pliku opartej na analizie jego zawartości (magic bytes), a nie wyłącznie na rozszerzeniu, oraz ograniczenie możliwości wykonywania kodu w katalogach przeznaczonych na upload plików.
Shopxo w wersji 1.9.3
Szczegółowy opis techniki wykorzystania podatności dostępny jest w referencji: https://github.com/h4ckdepy/vuls/blob/main/shopxo.md
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HShopxo
APPShopxo1.9.3
Powiązane podatności
ShopXO 6.4.0 — niebezpieczne przesyłanie plików w ThemeDataService.php
ShopXO – podatność umożliwiająca ponowną instalację systemu (RCE)
Nieprawidłowa kontrola dostępu w Shopxo — eskalacja uprawnień przez manipulację parametrem user_id
ShopXO – brak blokady reinstalacji umożliwia zapis dowolnego kodu
An issue was discovered in ShopXO CMS 2.2.0. After entering the management page, there is an arbitrary file up...