PHP-Charts v1.0 zawiera krytyczną podatność umożliwiającą zdalne wykonanie kodu (RCE) w pliku wizard/url.php, gdzie nazwy parametrów GET dostarczane przez użytkownika są przekazywane bezpośrednio do funkcji eval() bez jakiejkolwiek sanityzacji. Atakujący bez uwierzytelnienia może przejąć pełną kontrolę nad systemem hostującym aplikację.
▸ Pokaż oryginał (EN)
PHP-Charts v1.0 contains a PHP code execution vulnerability in wizard/url.php, where user-supplied GET parameter names are passed directly to eval() without sanitization. A remote attacker can exploit this flaw by crafting a request that injects arbitrary PHP code, resulting in command execution under the web server's context. The vulnerability allows unauthenticated attackers to execute system-level commands via base64-encoded payloads embedded in parameter names, leading to full compromise of the host system.
Podatność (CWE-95 — Improper Neutralization of Directives in Dynamically Evaluated Code) polega na tym, że skrypt wizard/url.php pobiera nazwy parametrów z żądania GET i przekazuje je bezpośrednio do funkcji eval() języka PHP. Atakujący może osadzić dowolny kod PHP w nazwie parametru, np. zakodowany w base64 payload zawierający polecenia systemowe. Po odebraniu żądania serwer WWW wykonuje wstrzyknięty kod w swoim własnym kontekście bez żadnej weryfikacji tożsamości żądającego.
Nieuprawniony, zdalny atakujący może wykonać dowolne polecenia systemowe z uprawnieniami procesu serwera WWW, co prowadzi do pełnego przejęcia kontroli nad systemem hostującym aplikację, w tym nad danymi, konfiguracją oraz innymi zasobami dostępnymi z poziomu serwera.
Należy niezwłocznie usunąć lub odizolować aplikację PHP-Charts v1.0 ze środowisk produkcyjnych. Należy zastosować patche dostępne u producenta zgodnie z referencjami. Jako środek tymczasowy należy zablokować dostęp do pliku wizard/url.php na poziomie firewalla lub konfiguracji serwera WWW oraz ograniczyć możliwość wykonywania zewnętrznych poleceń przez proces serwera WWW.
PHP-Charts w wersji 1.0 (plik wizard/url.php)
Dla tej podatności istnieją publicznie dostępne exploity w bazie Exploit-DB (ID: 24201 i 24273) oraz moduł w frameworku Metasploit, co znacznie obniża próg wejścia dla potencjalnych atakujących i uzasadnia natychmiastowe działanie mimo braku wpisu w CISA KEV.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X