W PHP w wersjach 8.3.x przed 8.3.19 oraz 8.4.x przed 8.4.5 istnieje podatność typu use-after-free, która może prowadzić do zdalnego wykonania kodu (RCE). Błąd jest wyzwalany przez specyficzną sekwencję kodu z użyciem handlera __set lub operatora ??= w połączeniu z obsługą wyjątków.
▸ Pokaż oryginał (EN)
In PHP versions 8.3.* before 8.3.19 and 8.4.* before 8.4.5, a code sequence involving __set handler or ??= operator and exceptions can lead to a use-after-free vulnerability. If the third party can control the memory layout leading to this, for example by supplying specially crafted inputs to the script, it could lead to remote code execution.
Podatność (CWE-416, use-after-free) pojawia się, gdy sekwencja kodu angażuje magiczny handler __set lub operator null-coalescing assignment (??=) wraz z mechanizmem wyjątków, co powoduje odwołanie do obszaru pamięci po jego zwolnieniu. Atakujący, który jest w stanie kontrolować układ pamięci — na przykład poprzez dostarczenie specjalnie spreparowanych danych wejściowych do skryptu PHP — może wykorzystać ten błąd. Odpowiednio skonstruowany payload może doprowadzić do wykonania dowolnego kodu w kontekście procesu PHP.
Atakujący może uzyskać możliwość zdalnego wykonania kodu (RCE) na serwerze obsługującym podatną wersję PHP, co może skutkować pełnym przejęciem kontroli nad aplikacją i systemem.
Należy zaktualizować PHP do wersji 8.3.19 lub nowszej (dla gałęzi 8.3) albo do wersji 8.4.5 lub nowszej (dla gałęzi 8.4). Szczegóły dostępne są w oficjalnym security advisory projektu PHP na GitHub: https://github.com/php/php-src/security/advisories/GHSA-rwp7-7vc6-8477
PHP w wersjach 8.3.x przed 8.3.19 oraz PHP 8.4.x przed 8.4.5
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/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:AmberPHP
APPPhp8.3.0 – 8.3.19 (bez)8.4.0 – 8.4.5 (bez)
Powiązane podatności
PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi)...
Use-after-free w rozszerzeniu SOAP PHP umożliwiające RCE
PHP PDO SQLite — błędne cytowanie ciągów prowadzące do SQL injection
PHP: integer overflow w ldap_escape() prowadzący do out-of-bounds write