CVE-2023-54007 in Linuxinformación

Resumen

por VulDB • 2026-06-04

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

vmci_host: corrige una condición de carrera en vmci_host_poll() que provoca un GPF (General Protection Fault)

Durante las pruebas de fuzzing, se observa un fallo general de protección en vmci_host_poll().

general protection fault, probablemente por dirección no canónica 0xdffffc0000000019: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref en el rango [0x00000000000000c8-0x00000000000000cf]
RIP: 0010:__lock_acquire+0xf3/0x5e00 kernel/locking/lockdep.c:4926 <- omitiendo registros -> Call Trace: <TASK> lock_acquire+0x1a4/0x4a0 kernel/locking/lockdep.c:5672 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0xb3/0x100 kernel/locking/spinlock.c:162 add_wait_queue+0x3d/0x260 kernel/sched/wait.c:22 poll_wait include/linux/poll.h:49 [inline]
vmci_host_poll+0xf8/0x2b0 drivers/misc/vmw_vmci/vmci_host.c:174 vfs_poll include/linux/poll.h:88 [inline]
do_pollfd fs/select.c:873 [inline]
do_poll fs/select.c:921 [inline]
do_sys_poll+0xc7c/0x1aa0 fs/select.c:1015 __do_sys_ppoll fs/select.c:1121 [inline]
__se_sys_ppoll+0x2cc/0x330 fs/select.c:1101 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x4e/0xa0 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x46/0xb0

El entrelazado de hilos que provoca el fallo general de protección es el siguiente:

CPU1 (vmci_host_poll) CPU2 (vmci_host_do_init_context) ----- ----- // Leer contexto no inicializado context = vmci_host_dev->context; // Inicializar contexto vmci_host_dev->context = vmci_ctx_create(); vmci_host_dev->ct_type = VMCIOBJ_CONTEXT;

if (vmci_host_dev->ct_type == VMCIOBJ_CONTEXT) {
// Desreferenciar el puntero incorrecto poll_wait(..., &context->host_context); }

En este escenario, vmci_host_poll() lee primero vmci_host_dev->context y luego lee vmci_host_dev->ct_type para verificar que vmci_host_dev->context está inicializado. Sin embargo, dado que estas dos lecturas no se ejecutan de forma atómica, existe la posibilidad de una condición de carrera como se describe anteriormente.

Para corregir esta condición de carrera, lea vmci_host_dev->context después de comprobar el valor de vmci_host_dev->ct_type para que vmci_host_poll() siempre lea un contexto inicializado.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Reservar

2025-12-24

Divulgación

2025-12-24

Moderación

aceptado

Artículo

VDB-338157

CPE

listo

EPSS

0.00185

KEV

no

Actividades

muy bajo

Fuentes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!