Podatność w module PHP-CGI działającym pod Apache na systemach Windows umożliwia nieuwierzytelnionemu atakującemu zdalne wykonanie kodu (RCE) na serwerze. Błąd jest aktywnie wykorzystywany w środowiskach produkcyjnych i otrzymał ocenę CVSS 9.8 (CRITICAL).
▸ Pokaż oryginał (EN)
In PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.3.* before 8.3.8, when using Apache and PHP-CGI on Windows, if the system is set up to use certain code pages, Windows may use "Best-Fit" behavior to replace characters in command line given to Win32 API functions. PHP CGI module may misinterpret those characters as PHP options, which may allow a malicious user to pass options to PHP binary being run, and thus reveal the source code of scripts, run arbitrary PHP code on the server, etc.
Problem wynika z mechanizmu 'Best-Fit' stosowanego przez Windows podczas konwersji znaków w wybranych stronach kodowych. Gdy system operacyjny zamienia znaki w argumentach przekazywanych do funkcji Win32 API, moduł PHP-CGI może błędnie zinterpretować te znaki jako opcje wiersza poleceń PHP. Atakujący może w ten sposób przemycić dowolne opcje do wykonywanego binarnego pliku PHP bez żadnego uwierzytelnienia i interakcji ze strony użytkownika.
Atakujący może ujawnić kod źródłowy skryptów PHP lub wykonać dowolny kod PHP na serwerze, co w praktyce oznacza pełne przejęcie kontroli nad aplikacją i potencjalnie całym systemem.
Należy niezwłocznie zaktualizować PHP do wersji 8.1.29, 8.2.20 lub 8.3.8 (odpowiednio do używanej gałęzi). Jeśli natychmiastowa aktualizacja nie jest możliwa, należy rozważyć wyłączenie trybu PHP-CGI lub zastąpienie go PHP-FPM, a także ograniczyć dostęp do endpointu CGI na poziomie firewall lub konfiguracji Apache.
PHP w wersjach 8.1.x przed 8.1.29, 8.2.x przed 8.2.20 oraz 8.3.x przed 8.3.8 – wyłącznie w konfiguracji Apache + PHP-CGI na systemie Windows z określonymi stronami kodowymi.
Podatność dotyczy wyłącznie środowisk Windows z Apache i PHP-CGI – instalacje Linux/macOS lub używające PHP-FPM nie są bezpośrednio narażone. CISA potwierdziła aktywne wykorzystanie podatności w środowiskach produkcyjnych.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFedora Project Fedora
OSFedoraproject3940Microsoft Windows
OSMicrosoftwszystkie wersjePHP
APPPhp8.1.0 – 8.1.29 (bez)8.2.0 – 8.2.20 (bez)8.3.0 – 8.3.8 (bez)
CISA KEV — szczegółyi
- Dostawcai
- PHP Group
- Produkti
- PHP
- Data dodania do KEVi
- 12 czerwca 2024
- Termin remediation (USA)i
- 3 lipca 2024(po terminie)
- Ransomwarei
- Aktywne kampanie ransomware używają tej podatności
Zastosuj mitygacje zgodnie z instrukcjami producenta lub zaprzestań użytkowania produktu, jeśli mitygacje są niedostępne.
▸ Pokaż oryginał (EN)
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
PHP, w szczególności PHP oparte na systemie Windows używane w trybie CGI, zawiera lukę OS command injection umożliwiającą dowolne wykonanie kodu. Ta luka stanowi bypass patcha dla CVE-2012-1823.
▸ Pokaż oryginał (EN)
PHP, specifically Windows-based PHP used in CGI mode, contains an OS command injection vulnerability that allows for arbitrary code execution. This vulnerability is a patch bypass for CVE-2012-1823.
Powiązane podatności
Atak na łańcuch dostaw DAEMON Tools Lite — trojanizacja instalatorów
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
Path Traversal w Kingsoft WPS Office — ładowanie dowolnej biblioteki Windows
Type Confusion w V8 (Google Chrome) — RCE przez spreparowaną stronę HTML