W frameworku ThinkPHP w wersjach od v6.1.3 do v8.0.4 wykryto krytyczną podatność deserializacji (deserialization), umożliwiającą zdalnemu atakującemu wykonanie dowolnego kodu bez uwierzytelnienia. Podatność uzyskała ocenę CVSS 9.8, co klasyfikuje ją jako krytyczną.
▸ Pokaż oryginał (EN)
A deserialization vulnerability in Thinkphp v6.1.3 to v8.0.4 allows attackers to execute arbitrary code.
Podatność wynika z niebezpiecznego przetwarzania (deserializacji) niezaufanych danych wejściowych przez framework ThinkPHP (CWE-502). Atakujący może dostarczyć specjalnie spreparowany payload, który podczas deserializacji zostaje wykonany jako kod po stronie serwera. Wektor ataku jest sieciowy, nie wymaga uwierzytelnienia ani interakcji użytkownika, co czyni ją szczególnie niebezpieczną.
Pomyślne wykorzystanie podatności pozwala atakującemu na zdalne wykonanie dowolnego kodu (RCE) na serwerze, co może prowadzić do pełnego przejęcia kontroli nad systemem, wycieku danych oraz naruszenia integralności i dostępności usługi.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się jak najszybszą aktualizację frameworka ThinkPHP do wersji wyższej niż v8.0.4 oraz monitorowanie oficjalnego kanału producenta pod adresem http://thinkphp.com w celu uzyskania szczegółowych instrukcji dotyczących aktualizacji.
ThinkPHP w wersjach od v6.1.3 do v8.0.4
W referencjach wskazano publiczne repozytorium GitHub (https://github.com/fru1ts/CVE-2024-44902) sugerujące dostępność publicznego kodu weryfikującego podatność, co może podwyższać ryzyko jej wykorzystania.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HThinkphp
APPThinkphp6.1.3 – 8.0.4
Powiązane podatności
ThinkPHP 5.0.23 — zdalne wykonanie kodu przez parametr routingu (RCE)
RCE w funkcji read sterownika szablonów ThinkPHP 5.0.24
RCE w ThinkPHP 3 — wykonanie kodu przez komponent index.php
RCE w ThinkPHP 5.1 przez funkcję routecheck
ThinkPHP: RCE poprzez deserializację w Index.php (CVE-2024-48112)