CVE-2020-29484
 
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
An issue was discovered in Xen through 4.14.x. When a Xenstore watch fires, the xenstore client that registered the watch will receive a Xenstore message containing the path of the modified Xenstore entry that triggered the watch, and the tag that was specified when registering the watch. Any communication with xenstored is done via Xenstore messages, consisting of a message header and the payload. The payload length is limited to 4096 bytes. Any request to xenstored resulting in a response with a payload longer than 4096 bytes will result in an error. When registering a watch, the payload length limit applies to the combined length of the watched path and the specified tag. Because watches for a specific path are also triggered for all nodes below that path, the payload of a watch event message can be longer than the payload needed to register the watch. A malicious guest that registers a watch using a very large tag (i.e., with a registration operation payload length close to the 4096 byte limit) can cause the generation of watch events with a payload length larger than 4096 bytes, by writing to Xenstore entries below the watched path. This will result in an error condition in xenstored. This error can result in a NULL pointer dereference, leading to a crash of xenstored. A malicious guest administrator can cause xenstored to crash, leading to a denial of service. Following a xenstored crash, domains may continue to run, but management operations will be impossible. Only C xenstored is affected, oxenstored is not affected.
Se detectó un problema en Xen versiones hasta 4.14.x. Cuando se activa un reloj de Xenstore, el cliente de Xenstore que registró el reloj recibirá un mensaje de Xenstore que contiene la ruta de la entrada de Xenstore modificada que activó el reloj y la etiqueta que estaba especificada al registrar el reloj. Cualquier comunicación con xenstored es realizada por medio de mensajes de Xenstore, que constan de un encabezado de mensaje y la carga útil. La longitud de la carga útil está limitada a 4096 bytes. Cualquier petición a xenstored resulta en una respuesta con una carga útil superior a 4096 bytes que dará como resultado un error. Cuando se registra un reloj, el límite de longitud de la carga útil se aplica a la longitud combinada de la ruta observada y la etiqueta especificada. Debido a que los relojes de una ruta específica son también activados para todos los nodos debajo de esa ruta, la carga útil de un mensaje de evento de vigilancia puede ser más larga que la carga útil necesaria para registrar la vigilancia. Un invitado malicioso que registra un reloj usando una etiqueta muy grande (es decir, con una longitud de carga útil de la operación de registro cercana al límite de 4096 bytes) puede causar la generación de eventos de reloj con una longitud de carga superior a 4096 bytes, al escribir en las entradas de Xenstore por debajo en la ruta vigilada. Esto resultará en una condición de error en xenstored. Este error puede resultar en una desreferencia del puntero NULL, conllevando a un bloqueo de xenstored. Un administrador invitado malicioso puede causar que xenstored se bloquee, conllevando a una denegación de servicio. Siguiendo con un bloqueo de xenstored, los dominios pueden continuar ejecutándose, pero las operaciones de administración serán imposibles. Solo C xenstored está afectado, oxenstored no está afectado
CVSS Scores
SSVC
- Decision:-
Timeline
- 2020-12-03 CVE Reserved
- 2020-12-15 CVE Published
- 2023-03-08 EPSS Updated
- 2024-08-04 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-476: NULL Pointer Dereference
CAPEC
References (4)
URL | Tag | Source |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
https://xenbits.xenproject.org/xsa/advisory-324.txt | 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.14.0 Search vendor "Xen" for product "Xen" and version " <= 4.14.0" | - |
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
| ||||||
Fedoraproject Search vendor "Fedoraproject" | Fedora Search vendor "Fedoraproject" for product "Fedora" | 32 Search vendor "Fedoraproject" for product "Fedora" and version "32" | - |
Affected
| ||||||
Fedoraproject Search vendor "Fedoraproject" | Fedora Search vendor "Fedoraproject" for product "Fedora" | 33 Search vendor "Fedoraproject" for product "Fedora" and version "33" | - |
Affected
|