CVE-2023-54007
Description
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:
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
76- osv-coords75 versionspkg:linux/kernelpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Micro%205.3pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Micro%205.4pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP4pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP4pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Micro%205.3pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Micro%205.4pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-livepatch-SLE15-SP4_Update_48&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP4pkg:rpm/suse/kernel-livepatch-SLE15-SP5_Update_34&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.3pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.4pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.3pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.4pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSS
>= 3.9.0, < 4.19.283+ 74 more
- (no CPE)range: >= 3.9.0, < 4.19.283
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1.150400.24.98.3
- (no CPE)range: < 5.14.21-150400.24.194.1.150400.24.98.3
- (no CPE)range: < 5.14.21-150500.55.133.1.150500.6.65.1
- (no CPE)range: < 5.14.21-150500.55.133.1.150500.6.65.1
- (no CPE)range: < 5.14.21-150400.24.194.1.150400.24.98.3
- (no CPE)range: < 5.14.21-150400.24.194.1.150400.24.98.3
- (no CPE)range: < 5.14.21-150500.55.133.1.150500.6.65.1
- (no CPE)range: < 5.14.21-150400.24.194.1.150400.24.98.3
- (no CPE)range: < 5.14.21-150500.55.133.1.150500.6.65.1
- (no CPE)range: < 5.14.21-150400.24.194.1.150400.24.98.3
- (no CPE)range: < 5.14.21-150500.55.133.1.150500.6.65.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 1-150400.9.7.1
- (no CPE)range: < 1-150500.11.3.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.15.142.1
- (no CPE)range: < 5.14.21-150400.15.142.1
- (no CPE)range: < 5.14.21-150500.13.118.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.15.142.1
- (no CPE)range: < 5.14.21-150400.15.142.1
- (no CPE)range: < 5.14.21-150500.13.118.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
- (no CPE)range: < 5.14.21-150400.24.194.1
- (no CPE)range: < 5.14.21-150500.55.133.1
Patches
Vulnerability mechanics
References
8- git.kernel.org/stable/c/2053e93ac15519ed1f1fe6eba79a33a4963be4a3nvd
- git.kernel.org/stable/c/67e35824f861a05b44b19d38e16a83f653bd9d92nvd
- git.kernel.org/stable/c/770d30b1355c6c8879973dd054fca9168def182cnvd
- git.kernel.org/stable/c/85b4aa4eb2e3a0da111fd0a1cdbf00f986ac6b6bnvd
- git.kernel.org/stable/c/ab64bd32b9fac27ff4737d63711b9db5e5462448nvd
- git.kernel.org/stable/c/ae13381da5ff0e8e084c0323c3cc0a945e43e9c7nvd
- git.kernel.org/stable/c/ca0f4ad2b7a36c799213ef0a213eb977a51e03dcnvd
- git.kernel.org/stable/c/d22b2a35729cb1de311cb650cd67518a24e13fc9nvd
News mentions
0No linked articles in our index yet.