CVE-2026-72380
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
W jądrze Linux w sterowniku xen/pvcalls brakuje walidacji identyfikatora żądania (req_id) pochodzącego od backendu przed użyciem go jako indeksu tablicy rsp[]. Złośliwy lub błędny backend może ustawić req_id poza zakresem, co prowadzi do zapisu poza pamięcią. Dodatkowo typ int dla req_id nie obejmuje wartości u32, co umożliwia indeksowanie ujemne.
Ocena ryzyka
Atakujący kontrolujący backend może doprowadzić do naruszenia integralności pamięci jądra, co może skutkować eskalacją uprawnień lub awarią systemu. Podatność dotyczy środowisk z parawirtualizacją Xen, szczególnie w konfiguracjach z niezaufanym backendem.
Rekomendacja
Zastosuj poprawkę z jądra Linux, która dodaje walidację req_id jako u32 i wyłącza backend w przypadku naruszenia protokołu. Zaktualizuj system do wersji jądra zawierającej tę poprawkę.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: xen/pvcalls: bound backend response req_id before indexing rsp[] pvcalls_front_event_handler() takes req_id directly from the backend-supplied ring response and uses it to index the fixed-size bedata->rsp[] array for a memcpy() and a store, with no range check. A malicious or buggy backend can set req_id past PVCALLS_NR_RSP_PER_RING and drive an out-of-bounds write past the bedata allocation. req_id was also declared int while the wire field rsp->req_id is u32, so a range check on the signed value alone is insufficient: a backend req_id of 0xffffffff becomes -1, passes a >= PVCALLS_NR_RSP_PER_RING test and indexes bedata->rsp[-1]. Declare req_id as u32 so a single bound covers both ends. A backend that sends an out-of-range req_id has violated the wire protocol, so rather than silently dropping the response, log once and stop trusting the backend: set bedata->disabled. The event handler then ignores further responses, and the request paths that wait for a response return -EIO instead of blocking forever. This mirrors the fatal-error handling xen-netback uses (xenvif_fatal_tx_err()). The pvcalls frontend currently trusts its backend, so this is not a classic-Xen security issue, but it matters for hardening PV frontends against malicious backends (confidential and disaggregated deployments).

