CVE-2026-31689 in Linux
요약
\~에 의해 VulDB • 2026. 05. 10.
리눅스 커널에서 다음 취약점이 해결되었습니다:
EDAC/mc: edac_mc_alloc()의 에러 경로 순서 수정
edac_mc_alloc()에서 mci->pvt_info 할당이 실패할 경우, 에러 경로에서 put_device()를 호출하게 되며 이는 결국 장치의 release 함수를 호출하게 됩니다.
그러나 초기화 순서가 잘못되어 device_initialize()가 실패한 할당 *이후*에 발생하므로, 호출 시점에는 장치 자체와 release 함수 포인터가 아직 초기화되지 않은 상태입니다:
MCE: In-kernel MCE decoding enabled. ------------[ cut here ]------------
kobject: '(null)': is not initialized, yet kobject_put() is being called. WARNING: lib/kobject.c:734 at kobject_put, CPU#22: systemd-udevd CPU: 22 UID: 0 PID: 538 Comm: systemd-udevd Not tainted 7.0.0-rc1+ #2 PREEMPT(full) RIP: 0010:kobject_put Call Trace: edac_mc_alloc+0xbe/0xe0 [edac_core]
amd64_edac_init+0x7a4/0xff0 [amd64_edac]
? __pfx_amd64_edac_init+0x10/0x10 [amd64_edac]
do_one_initcall ...
장치가 초기화되고 release 함수 포인터가 사용되기 전에 올바르게 설정되도록 호출 순서를 재배열합니다.
이 문제는 Claude가 다른 EDAC 패치를 검토하는 과정에서 발견되었습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.