QEMU 4.0.0 i wcześniejsze wersje są podatne na OS command injection za pośrednictwem komendy guest_exec interfejsu QMP (QEMU Machine Protocol). Podatność umożliwia zdalnemu atakującemu wykonanie dowolnego kodu, wywołanie odmowy usługi (DoS) lub ujawnienie informacji.
▸ Pokaż oryginał (EN)
The QMP guest_exec command in QEMU 4.0.0 and earlier is prone to OS command injection, which allows the attacker to achieve code execution, denial of service, or information disclosure by sending a crafted QMP command to the listening server. Note: This has been disputed as a non-issue since QEMU's -qmp interface is meant to be used by trusted users. If one is able to access this interface via a tcp socket open to the internet, then it is an insecure configuration issue
Interfejs QMP (QEMU Machine Protocol) udostępnia komendę guest_exec, która pozwala na wykonywanie poleceń systemowych na maszynie hosta. Atakujący może wysłać spreparowaną komendę QMP do nasłuchującego serwera QEMU, wstrzykując złośliwe polecenia systemowe (command injection). Podatność wynika z braku odpowiedniej walidacji danych wejściowych przekazywanych do wspomnianej komendy. Należy jednak odnotować, że producent i społeczność kwestionują tę podatność jako rzeczywisty problem — interfejs QMP jest z założenia przeznaczony wyłącznie dla zaufanych użytkowników, a jego ekspozycja na publiczny internet stanowi błąd konfiguracyjny, nie podatność samego oprogramowania.
Atakujący może uzyskać zdalne wykonanie kodu (RCE) na hoście, doprowadzić do odmowy usługi (DoS) lub odczytać poufne informacje z systemu. W przypadku ekspozycji interfejsu QMP na internet skutki mogą objąć pełne przejęcie kontroli nad hostem wirtualizacji.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Kluczowym środkiem zaradczym jest natychmiastowe ograniczenie dostępu do interfejsu QMP wyłącznie do zaufanych użytkowników i sieci lokalnych — nigdy nie należy eksponować gniazda TCP interfejsu QMP na publiczny internet. Zaleca się stosowanie firewalla oraz mechanizmów kontroli dostępu ograniczających możliwość połączenia z interfejsem QMP.
QEMU w wersji 4.0.0 oraz wcześniejszych, gdy interfejs QMP jest udostępniony przez gniazdo TCP dostępne publicznie lub dla niezaufanych użytkowników.
Podatność jest kwestionowana (disputed) przez producenta i społeczność QEMU jako non-issue — interfejs QMP jest przeznaczony wyłącznie dla zaufanych użytkowników. Ekspozycja interfejsu na publiczny internet jest traktowana jako błąd konfiguracyjny, nie jako podatność samego oprogramowania. Pomimo wysokiego wyniku CVSS 9.8 (CRITICAL), rzeczywiste ryzyko jest istotnie niższe przy prawidłowej konfiguracji środowiska.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HQemu
APPQemu≤ 4.0.0
Powiązane podatności
NULL pointer dereference w emulacji urządzenia rocker w QEMU
QEMU: command injection w interfejsie QMP umożliwia RCE
Buffer overflow w QEMU — funkcja load_image w device_tree.c
QEMU: przepełnienie liczby całkowitej w obsłudze pakietów sieciowych (CWE-190)
QEMU VirtFS/9pfs — nieuprawniony dostęp do systemu plików hosta