CVE-2020-15567
Ubuntu Security Notice USN-5617-1
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
An issue was discovered in Xen through 4.13.x, allowing Intel guest OS users to gain privileges or cause a denial of service because of non-atomic modification of a live EPT PTE. When mapping guest EPT (nested paging) tables, Xen would in some circumstances use a series of non-atomic bitfield writes. Depending on the compiler version and optimisation flags, Xen might expose a dangerous partially written PTE to the hardware, which an attacker might be able to race to exploit. A guest administrator or perhaps even an unprivileged guest user might be able to cause denial of service, data corruption, or privilege escalation. Only systems using Intel CPUs are vulnerable. Systems using AMD CPUs, and Arm systems, are not vulnerable. Only systems using nested paging (hap, aka nested paging, aka in this case Intel EPT) are vulnerable. Only HVM and PVH guests can exploit the vulnerability. The presence and scope of the vulnerability depends on the precise optimisations performed by the compiler used to build Xen. If the compiler generates (a) a single 64-bit write, or (b) a series of read-modify-write operations in the same order as the source code, the hypervisor is not vulnerable. For example, in one test build using GCC 8.3 with normal settings, the compiler generated multiple (unlocked) read-modify-write operations in source-code order, which did not constitute a vulnerability. We have not been able to survey compilers; consequently we cannot say which compiler(s) might produce vulnerable code (with which code-generation options). The source code clearly violates the C rules, and thus should be considered vulnerable.
Se detectó un problema en Xen versiones hasta 4.13.x, que permite a usuarios del Sistema Operativo invitado de Intel alcanzar privilegios o causar una denegación de servicio debido a una modificación no atómica de un EPT PTE en vivo. Al mapear tablas EPT (paginación anidada) invitadas, Xen en algunas circunstancias usa una serie de escrituras de campo de bits no atómicas. Dependiendo de la versión del compilador y los indicadores de optimización, Xen podría exponer un PTE peligroso parcialmente escrito al hardware, a un atacante podría ser capaz de una carrera para una explotación. Un administrador invitado o tal vez incluso un usuario invitado no privilegiado podría causar una denegación de servicio, corrupción de datos o una escalada de privilegios. Solo los sistemas que utilizan los CPU Intel son vulnerables. Los sistemas que usan CPU AMD y sistemas Arm no son vulnerables. Solo los sistemas que usan paginación anidada (hap, también se conoce como paginación anidada, también se conoce en este caso como Intel EPT) son vulnerables. Solo los invitados HVM y PVH pueden explotar la vulnerabilidad. La presencia y el alcance de la vulnerabilidad dependen de las optimizaciones precisas llevadas a cabo por el compilador usado para construir Xen. Si el compilador genera (a) una sola escritura de 64 bits, o (b) una serie de operaciones de lectura-modificación-escritura en el mismo orden que el código fuente, el hipervisor no es vulnerable. Por ejemplo, en una compilación de prueba usando GCC versión 8.3 con configuraciones normales, el compilador generaba múltiples operaciones de lectura-modificación-escritura (desbloqueadas) según el código fuente, lo que no constituyó una vulnerabilidad. No hemos sido capaces de encuestar a los compiladores; en consecuencia, no podemos decir qué compilador(es) podrían producir código vulnerable (con qué opciones de generación de código). El código fuente viola claramente las reglas C y, por lo tanto, debe ser considerado vulnerable
It was discovered that memory contents previously stored in microarchitectural special registers after RDRAND, RDSEED, and SGX EGETKEY read operations on Intel client and Xeon E3 processors may be briefly exposed to processes on the same or different processor cores. A local attacker could use this to expose sensitive information. Julien Grall discovered that Xen incorrectly handled memory barriers on ARM-based systems. An attacker could possibly use this issue to cause a denial of service, obtain sensitive information or escalate privileges.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2020-07-06 CVE Reserved
- 2020-07-07 CVE Published
- 2024-08-04 CVE Updated
- 2025-03-30 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
CAPEC
References (8)
URL | Tag | Source |
---|---|---|
http://www.openwall.com/lists/oss-security/2020/07/07/6 | Mailing List |
|
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
http://xenbits.xen.org/xsa/advisory-328.html | 2023-11-07 |
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Xen Search vendor "Xen" | Xen Search vendor "Xen" for product "Xen" | <= 4.13.1 Search vendor "Xen" for product "Xen" and version " <= 4.13.1" | - |
Affected
| ||||||
Debian Search vendor "Debian" | Debian Linux Search vendor "Debian" for product "Debian Linux" | 10.0 Search vendor "Debian" for product "Debian Linux" and version "10.0" | - |
Affected
| ||||||
Opensuse Search vendor "Opensuse" | Leap Search vendor "Opensuse" for product "Leap" | 15.1 Search vendor "Opensuse" for product "Leap" and version "15.1" | - |
Affected
| ||||||
Opensuse Search vendor "Opensuse" | Leap Search vendor "Opensuse" for product "Leap" | 15.2 Search vendor "Opensuse" for product "Leap" and version "15.2" | - |
Affected
| ||||||
Fedoraproject Search vendor "Fedoraproject" | Fedora Search vendor "Fedoraproject" for product "Fedora" | 31 Search vendor "Fedoraproject" for product "Fedora" and version "31" | - |
Affected
| ||||||
Fedoraproject Search vendor "Fedoraproject" | Fedora Search vendor "Fedoraproject" for product "Fedora" | 32 Search vendor "Fedoraproject" for product "Fedora" and version "32" | - |
Affected
|