CVE-2023-54007 json
vmci_host: fix a race condition in vmci_host_poll() causing GPF
published 2025-12-24 10 mo ago modified 2026-06-17 4 mo ago also EUVD-2025-205148
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 12%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
vmci_host: fix a race condition in vmci_host_poll() causing GPF
During fuzzing, a general protection fault is observed in vmci_host_poll().
general protection fault, probably for non-canonical address 0xdffffc0000000019: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x00000000000000c8-0x00000000000000cf] RIP: 0010:__lock_acquire+0xf3/0x5e00 kernel/locking/lockdep.c:4926 <- omitting registers -> 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
Example thread interleaving that causes the general protection fault is as follows:
CPU1 (vmci_host_poll) CPU2 (vmci_host_do_init_context) ----- ----- // Read uninitialized context context = vmci_host_dev->context; // Initialize context vmci_host_dev->context = vmci_ctx_create(); vmci_host_dev->ct_type = VMCIOBJ_CONTEXT;
if (vmci_host_dev->ct_type == VMCIOBJ_CONTEXT) { // Dereferencing the wrong pointer poll_wait(..., &context->host_context); }
In this scenario, vmci_host_poll() reads vmci_host_dev->context first, and then reads vmci_host_dev->ct_type to check that vmci_host_dev->context is initialized. However, since these two reads are not atomically executed, there is a chance of a race condition as described above.
To fix this race condition, read vmci_host_dev->context after checking the value of vmci_host_dev->ct_type so that vmci_host_poll() always reads an initialized context.
Patch / fix
- Linux Linux 4.19.283, 5.4.243, 5.10.180, 5.15.111, 6.1.28, 6.2.15, 6.3.2, 6.4
- linux Debian 12 6.1.37-1
- linux Debian 14, Debian 13 6.3.7-1
debian advisories DEBIAN-CVE-2023-54007
- linux Ubuntu 20.04 LTS 5.4.0-162.179
- linux Ubuntu 22.04 LTS 5.15.0-79.86
- linux-aws Ubuntu 20.04 LTS 5.4.0-1109.118
- linux-aws Ubuntu 22.04 LTS 5.15.0-1042.47
- linux-gcp Ubuntu 20.04 LTS 5.4.0-1112.121
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1039.47
- linux-gke Ubuntu 22.04 LTS 5.15.0-1039.44
- linux-ibm Ubuntu 20.04 LTS 5.4.0-1056.61
ubuntu advisories UBUNTU-CVE-2023-54007
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-64kb SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS, SLE High Performance Computing 15 SP4-ESPOS 5.14.21-150400.24.194.1
- kernel-syms SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS +1 more 5.14.21-150400.24.194.1
- kernel-source SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS +1 more 5.14.21-150400.24.194.1
- kernel-default SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Micro 5.4 +5 more 5.14.21-150400.24.194.1
- kernel-obs-build SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS +1 more 5.14.21-150400.24.194.1
- kernel-default-base SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Micro 5.4 +3 more 5.14.21-150400.24.194.1.150400.24.98.3
- kernel-rt SLE Micro 5.4, SLE Micro 5.3 5.14.21-150400.15.142.1
- kernel-source-rt SLE Micro 5.4, SLE Micro 5.3 5.14.21-150400.15.142.1
suse advisories SUSE-SU-2026:0617-1SUSE-SU-2026:0411-1SUSE-SU-2026:0317-1SUSE-SU-2026:0263-1
- git.kernel.org/stable/c/2053e93ac15519ed1f1fe6eba79a33a4963be4a3 commit
- git.kernel.org/stable/c/ca0f4ad2b7a36c799213ef0a213eb977a51e03dc commit
- git.kernel.org/stable/c/85b4aa4eb2e3a0da111fd0a1cdbf00f986ac6b6b commit
- git.kernel.org/stable/c/770d30b1355c6c8879973dd054fca9168def182c commit
- git.kernel.org/stable/c/d22b2a35729cb1de311cb650cd67518a24e13fc9 commit
- git.kernel.org/stable/c/67e35824f861a05b44b19d38e16a83f653bd9d92 commit
- git.kernel.org/stable/c/ab64bd32b9fac27ff4737d63711b9db5e5462448 commit
- git.kernel.org/stable/c/ae13381da5ff0e8e084c0323c3cc0a945e43e9c7 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2023-54007 updated cvss 4.7
kernel: vmci_host: fix a race condition in vmci_host_poll() causing GPF
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 moreaffected: workaround, no fix available “To mitigate this issue, prevent the vmw_vmci module from being loaded. See https://access.redhat.com/solutions/41278 for instructions.”
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 10 kernelnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.22% chance of exploitation in the next 30 days, higher than 12% of all scored CVEs (FIRST EPSS, 2026-11-08).
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/2053e93ac15519ed1f1fe6eba79a33a4963be4a3
- git.kernel.org /stable/c/ca0f4ad2b7a36c799213ef0a213eb977a51e03dc
- git.kernel.org /stable/c/85b4aa4eb2e3a0da111fd0a1cdbf00f986ac6b6b
- git.kernel.org /stable/c/770d30b1355c6c8879973dd054fca9168def182c
- git.kernel.org /stable/c/d22b2a35729cb1de311cb650cd67518a24e13fc9
- git.kernel.org /stable/c/67e35824f861a05b44b19d38e16a83f653bd9d92
- git.kernel.org /stable/c/ab64bd32b9fac27ff4737d63711b9db5e5462448
- git.kernel.org /stable/c/ae13381da5ff0e8e084c0323c3cc0a945e43e9c7
Sources
- CVE List CVE-2023-54007
- NVD CVE-2023-54007
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.