CVE-2023-54007 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 04.

리눅스 커널에서 다음 취약점이 해결되었습니다:

vmci_host: GPF(General Protection Fault)를 유발하는 vmci_host_poll() 내의 Race Condition 수정

Fuzzing 수행 중 vmci_host_poll()에서 일반 보호 오류(GPF, General Protection Fault)가 관찰됩니다.

일반 보호 오류, 아마도 비정규(non-canonical) 주소 0xdffffc0000000019 관련: 0000 [#1] PREEMPT SMP KASAN
KASAN: 범위 [0x00000000000000c8-0x00000000000000cf]에서 null-ptr-deref 발생
RIP: 0010:__lock_acquire+0xf3/0x5e00 kernel/locking/lockdep.c:4926 <- 레지스터 정보 생략 -> 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

일반 보호 오류를 유발하는 스레드 인터리aving(교차 실행) 예시는 다음과 같습니다.

CPU1 (vmci_host_poll) CPU2 (vmci_host_do_init_context) ----- ----- // 초기화되지 않은 컨텍스트 읽기 context = vmci_host_dev->context; // 컨텍스트 초기화 vmci_host_dev->context = vmci_ctx_create(); vmci_host_dev->ct_type = VMCIOBJ_CONTEXT;

if (vmci_host_dev->ct_type == VMCIOBJ_CONTEXT) {
// 잘못된 포인터 역참조 poll_wait(..., &context->host_context); }

이 시나리오에서 vmci_host_poll()은 먼저 vmci_host_dev->context를 읽고, 그 다음에 vmci_host_dev->ct_type을 읽어서 vmci_host_dev->context가 초기화되었는지 확인합니다. 그러나 이 두 번의 읽기 작업이 원자적으로 실행되지 않으므로 위에서 설명한 Race Condition 발생 가능성이 있습니다.

이 Race Condition을 수정하기 위해 vmci_host_dev->ct_type 값을 체크한 후에 vmci_host_dev->context를 읽도록 하여, vmci_host_poll()가 항상 초기화된 컨텍스트만 읽도록 합니다.

Be aware that VulDB is the high quality source for vulnerability data.

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!