Podatność typu command injection umożliwia atakującemu zdalne wykonanie dowolnych poleceń w aplikacjach działających pod systemem Windows, które pośrednio korzystają z funkcji CreateProcess. Ocena CVSS 9.8 czyni ją podatnością krytyczną, wymagającą natychmiastowej uwagi.
▸ Pokaż oryginał (EN)
A command inject vulnerability allows an attacker to perform command injection on Windows applications that indirectly depend on the CreateProcess function when the specific conditions are satisfied.
Podatność wynika z nieprawidłowej obsługi argumentów wiersza poleceń przekazywanych do funkcji CreateProcess w systemie Windows. Gdy spełnione są określone warunki, atakujący może wstrzyknąć dodatkowe polecenia systemowe poprzez spreparowane dane wejściowe. Dotyczy to aplikacji napisanych w Haskell (biblioteka Process), Node.js oraz PHP, które pośrednio wywołują CreateProcess bez odpowiedniego sanityzowania argumentów. W efekcie złośliwy payload może być interpretowany przez system operacyjny jako odrębne polecenie.
Atakujący może uzyskać pełną kontrolę nad systemem — wykonać dowolny kod, uzyskać dostęp do poufnych danych oraz zakłócić działanie aplikacji lub całego serwera (naruszenie poufności, integralności i dostępności).
Należy zastosować patche dostępne u producentów poszczególnych środowisk (Haskell, Node.js, PHP) zgodnie z referencjami. Dodatkowo zaleca się weryfikację i sanityzację wszelkich danych wejściowych przekazywanych do funkcji uruchamiających procesy systemowe na platformie Windows.
Aplikacje Windows korzystające z: biblioteki Haskell Process Library, środowiska Node.js oraz PHP — w wersjach wskazanych w referencjach producenta — które pośrednio wywołują funkcję CreateProcess.
Podatność jest opisana w badaniu opublikowanym przez Flatt Security pod nazwą 'BatBadBut'. Powiązane CVE wymienione w referencjach to CVE-2024-1874 oraz CVE-2024-22423. Problem dotyczy specyfiki obsługi argumentów wiersza poleceń w systemie Windows opisanej w dokumentacji Microsoft.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HHaskell Process Library
APPHaskell< 1.6.19.0Microsoft Windows
OSMicrosoftwszystkie wersjeNode.js
APPNodejs19.0.0 – 20.12.2 (bez)21.0.0 – 21.7.3 (bez)< 18.20.2PHP
APPPhp8.2.0 – 8.2.18 (bez)8.3.0 – 8.3.6 (bez)< 8.1.28Rust Lang Rust
APPRust-Lang< 1.77.2Yt Dlp Project Yt Dlp
APPYt-Dlp Project2021.04.11 – 2024.04.09 (bez)
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
PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit