Podatność w ThinkPHP v.5.1 umożliwia zdalnemu atakującemu wykonanie dowolnego kodu bez uwierzytelnienia. Krytyczny poziom zagrożenia wynika z pełnego braku wymagań wstępnych — atak jest możliwy z sieci przez prostą interakcję z funkcją routecheck.
▸ Pokaż oryginał (EN)
An issue in thinkphp v.5.1 allows a remote attacker to execute arbitrary code via the routecheck function
Podatność sklasyfikowana jako CWE-94 (code injection) tkwi w funkcji routecheck frameworka ThinkPHP v.5.1. Atakujący może dostarczyć specjalnie spreparowane dane wejściowe, które zostają zinterpretowane i wykonane jako kod po stronie serwera. Brak mechanizmów walidacji lub filtrowania danych w tej funkcji pozwala na wstrzyknięcie i uruchomienie arbitralnego kodu PHP.
Atakujący może przejąć pełną kontrolę nad serwerem aplikacji — uzyskać dostęp do poufnych danych, modyfikować zawartość aplikacji oraz potencjalnie wykonać dalsze działania w infrastrukturze (lateral movement). Wektor CVSS wskazuje na wysoką poufność, integralność i dostępność zasobów.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się pilną aktualizację frameworka ThinkPHP do wersji niezawierającej opisanej podatności oraz ograniczenie dostępu sieciowego do aplikacji opartych na tej wersji do czasu wdrożenia poprawki.
ThinkPHP v.5.1
Podatność powiązana z identyfikatorem CNVD-2024-29981 wskazanym w referencjach. Publiczny opis techniczny dostępny jest pod adresem xinyisleep.github.io.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HThinkphp
APPThinkphp5.1.0
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
ThinkPHP: RCE poprzez deserializację w Index.php (CVE-2024-48112)
Krytyczna podatność deserialization RCE w ThinkPHP v6.1.3–v8.0.4