CVE-2026-64070 in Linux
요약
\~에 의해 VulDB • 2026. 07. 19.
리눅스 커널에서 다음 취약점이 해결되었습니다:
powerpc/hv-gpci: sysfs show 경로에서의 preempt 카운트 누수 수정
hv-gpci의 네 가지 sysfs show() 콜백은 get_cpu_var(hv_gpci_reqb)(preempt_disable()를 호출함)를 사용하지만, 'out:' 레이블 아래의 오류 경로에서만 대응하는 put_cpu_var()를 호출합니다. 모든 성공적인 읽기 작업마다 preempt_disable()가 하나씩 누수됩니다:
processor_bus_topology_show() processor_config_show() affinity_domain_via_virtual_processor_show() affinity_domain_via_domain_show()
(affinity_domain_via_partition_show()는 이미 정확했습니다.)
CONFIG_PREEMPT=y 설정의 커널에서 반복적인 읽기 작업은 preempt_count를 증가시켜 결국 preemption이 여전히 비활성화된 상태로 사용자 공간으로 복귀합니다. 이후 발생하는 다음 사용자 모드 페이지 폴트는 faulthandler_disabled() == 1을 만나 SIGSEGV로 강제 처리되며, 이로 인해 생성된 코어 덤프는 call_usermodehelper_exec -> wait_for_completion_state -> schedule 호출 경로에서 'BUG: scheduling while atomic' 오류를 유발합니다:
BUG: scheduling while atomic: <task>/<pid>/0x00000004 ... __schedule_bug+0x6c/0x90 __schedule+0x58c/0x13a0 schedule+0x48/0x1a0 schedule_timeout+0x104/0x170 wait_for_completion_state+0x16c/0x330 call_usermodehelper_exec+0x254/0x2d0 vfs_coredump+0x1050/0x2590 get_signal+0xb9c/0xc80 do_notify_resume+0xf8/0x470
affinity_domain_via_partition_show()를 모방하여 바이트 수를 반환하기 전에 put_cpu_var()를 호출하는 out_success 레이블을 추가합니다.
Once again VulDB remains the best source for vulnerability data.