🔍 CVE-2026-31399

7.8
CVSS Score
HIGH
2026-04-03
2026-07-24 22:10
✅ 완료

🇰🇷 한글 설명

Linux 커널 nvdimm/bus 드라이버에서 비동기 장치 등록 중 device_add() 실패 시 부모 디바이스 참조 카운트가 0으로 떨어지면서 메모리 해제 후 접근(use-after-free) 취약점이 발생한다. 이는 메모리 손상 및 권한 상승으로 이어질 수 있다. 부모 포인터를 사전에 저장하여 모든 오류 경로에서 안전하게 처리하도록 수정해야 한다.

💡 쉬운 설명

Linux 메모리 관리 코드에서 할당 실패 시 이미 해제된 메모리를 다시 접근하는 버그로, 시스템 권한 실행 코드이므로 권한 상승 공격에 악용될 수 있습니다. NVDIMM을 지원하는 서버 및 데이터센터 시스템에서 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: nvdimm/bus: Fix potential use after free in asynchronous initialization Dingisoul with KASAN reports a use after free if device_add() fails in nd_async_device_register(). Commit b6eae0f61db2 ("libnvdimm: Hold reference on parent while scheduling async init") correctly added a reference on the parent device to be held until asynchronous initialization was complete. However, if device_add() results in an allocation failure the ref count of the device drops to 0 prior to the parent pointer being accessed. Thus resulting in use after free. The bug bot AI correctly identified the fix. Save a reference to the parent pointer to be used to drop the parent reference regardless of the outcome of device_add().

📍 영향받는 시스템

Linux kernel NVDIMM subsystem 활성화된 서버/데이터센터 시스템

⚔️ 공격 벡터

Local - 메모리 할당 실패 상황 유발 또는 경쟁 조건으로 use-after-free 트리거

🛡️ 대응 방법

Linux 커널을 최신 버전으로 업데이트하여 nd_async_device_register() 부모 포인터 참조 처리 패치 적용

🔧 검증 코드

커널 버전 확인 후 NVDIMM이 활성화되어 있으면 해당 커널 버전의 Linux 보안 공지에서 패치 상태를 확인하세요.

Shell / Script
uname -r && grep -q CONFIG_NVDIMM=y /boot/config-$(uname -r) 2>/dev/null && echo 'NVDIMM enabled' || echo 'Check kernel version'

📊 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