CRITICAL✓ PATCH🇬🇧 English

CVE-2019-18425

Xen: privilege escalation w 32-bitowym trybie PV guest przez deskryptory

CVSS 9.8v3.1pub. 2019-10-31upd. 2024-11-21

Podatność w Xen (wersje od co najmniej 3.2 do 4.12.x) umożliwia użytkownikom 32-bitowego trybu PV guest OS podniesienie uprawnień do poziomu kernela gościa. Luka wynika z braku weryfikacji limitów tablicy deskryptorów podczas emulacji operacji PV gościa.

Pokaż oryginał (EN)

An issue was discovered in Xen through 4.12.x allowing 32-bit PV guest OS users to gain guest OS privileges by installing and using descriptors. There is missing descriptor table limit checking in x86 PV emulation. When emulating certain PV guest operations, descriptor table accesses are performed by the emulating code. Such accesses should respect the guest specified limits, unless otherwise guaranteed to fail in such a case. Without this, emulation of 32-bit guest user mode calls through call gates would allow guest user mode to install and then use descriptors of their choice, as long as the guest kernel did not itself install an LDT. (Most OSes don't install any LDT by default). 32-bit PV guest user mode can elevate its privileges to that of the guest kernel. Xen versions from at least 3.2 onwards are affected. Only 32-bit PV guest user mode can leverage this vulnerability. HVM, PVH, as well as 64-bit PV guests cannot leverage this vulnerability. Arm systems are unaffected.

🤖 Analiza AI
Jak działa

Podczas emulacji określonych operacji 32-bitowego gościa PV, kod emulujący wykonuje dostępy do tablic deskryptorów bez sprawdzania limitów określonych przez gościa. W efekcie emulacja wywołań trybu użytkownika gościa przez call gates pozwala trybu użytkownika na instalację i użycie dowolnie wybranych deskryptorów — o ile kernel gościa nie zainstalował własnej tablicy LDT. Ponieważ większość systemów operacyjnych domyślnie nie instaluje LDT, warunek ten jest spełniony w typowych konfiguracjach. Pozwala to na eskalację uprawnień z poziomu użytkownika gościa do poziomu kernela gościa.

Skutki

Atakujący działający w trybie użytkownika 32-bitowego gościa PV może uzyskać pełne uprawnienia kernela gościa, co prowadzi do całkowitego przejęcia kontroli nad systemem gościa (naruszenie poufności, integralności i dostępności).

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami (XSA-298 opublikowane przez Xen Project pod adresem xenbits.xen.org/xsa/advisory-298.html). Użytkownicy dystrybucji Debian Linux i Fedora powinni zaktualizować pakiety Xen do wersji udostępnionych przez opiekunów dystrybucji. Jako obejście można rozważyć migrację gości do trybu HVM, PVH lub 64-bitowego PV, które nie są podatne na tę lukę.

Kogo dotyczy

Xen w wersjach od co najmniej 3.2 do 4.12.x — wyłącznie w konfiguracji 32-bitowych gości PV (paravirtualizacja). Systemy HVM, PVH oraz 64-bitowe gości PV nie są podatne. Systemy oparte na architekturze ARM nie są podatne. Dotknięte są również pakiety Xen w dystrybucjach Debian Linux i Fedora.

Uwagi

Podatność dotyczy wyłącznie wąskiej konfiguracji: 32-bitowych gości PV na architekturze x86. Platformy ARM oraz tryby HVM, PVH i 64-bitowy PV są odporne na tę lukę.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Debian

    OS
    Debian
    10.09.0
  • Fedora Project Fedora

    OS
    Fedoraproject
    293031
  • Opensuse Leap

    OS
    Opensuse
    15.0
  • Xen

    OS
    Xen
    ≤ 4.12.1
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje

Powiązane podatności

CVE-2026-24061CRITICAL9.8⚠ KEVPL ✓ten sam produkt

GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER

CVE-2025-32463CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)

CVE-2025-49113CRITICAL9.9⚠ KEVPL ✓ten sam produkt

RCE przez deserializację PHP w Roundcube Webmail (parametr _from)

CVE-2025-32433CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)

CVE-2025-24201CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki