🔍 CVE-2024-26762

7.8
CVSS Score
HIGH
2024-04-03
2026-08-04 11:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 CXL(Compute Express Link) PCI 에러 처리 과정에서 발생하는 취약점입니다. CXL.mem 장치가 분리된 후에도 RAS(Reliability, Availability, and Serviceability) 에러 핸들러가 레지스터 값을 읽으려 시도하여 커널 페이지 폴트 및 시스템 충돌(Crash)을 유발할 수 있습니다.

💡 쉬운 설명

컴퓨터 부품인 CXL 메모리가 갑자기 연결 해제되었을 때, 시스템이 이를 제대로 처리하지 못하고 오류를 읽으려다 컴퓨터가 멈추거나 꺼지는 현상입니다. 메모리가 사라진 상태에서 존재하지 않는 정보를 읽으려다 발생하는 문제입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: cxl/pci: Skip to handle RAS errors if CXL.mem device is detached The PCI AER model is an awkward fit for CXL error handling. While the expectation is that a PCI device can escalate to link reset to recover from an AER event, the same reset on CXL amounts to a surprise memory hotplug of massive amounts of memory. At present, the CXL error handler attempts some optimistic error handling to unbind the device from the cxl_mem driver after reaping some RAS register values. This results in a "hopeful" attempt to unplug the memory, but there is no guarantee that will succeed. A subsequent AER notification after the memdev unbind event can no longer assume the registers are mapped. Check for memdev bind before reaping status register values to avoid crashes of the form: BUG: unable to handle page fault for address: ffa00000195e9100 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page [...] RIP: 0010:__cxl_handle_ras+0x30/0x110 [cxl_core] [...] Call Trace: <TASK> ? __die+0x24/0x70 ? page_fault_oops+0x82/0x160 ? kernelmode_fixup_or_oops+0x84/0x110 ? exc_page_fault+0x113/0x170 ? asm_exc_page_fault+0x26/0x30 ? __pfx_dpc_reset_link+0x10/0x10 ? __cxl_handle_ras+0x30/0x110 [cxl_core] ? find_cxl_port+0x59/0x80 [cxl_core] cxl_handle_rp_ras+0xbc/0xd0 [cxl_core] cxl_error_detected+0x6c/0xf0 [cxl_core] report_error_detected+0xc7/0x1c0 pci_walk_bus+0x73/0x90 pcie_do_recovery+0x23f/0x330 Longer term, the unbind and PCI_ERS_RESULT_DISCONNECT behavior might need to be replaced with a new PCI_ERS_RESULT_PANIC.

📍 영향받는 시스템

CXL(Compute Express Link) 기능을 사용하는 Linux 커널 시스템

⚔️ 공격 벡터

물리적 또는 소프트웨어적으로 CXL 장치의 연결을 해제하여 커널 패닉 유도 (DoS)

🛡️ 대응 방법

CXL 에러 핸들링 로직이 수정된 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel