🔍 CVE-2026-43497

7.3
CVSS Score
HIGH
2026-05-21
2026-07-23 16:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 fbdev udlfb 드라이버에서 발생한 Use-After-Free 취약점입니다. 사용자가 프레임버퍼를 매핑한 상태에서 USB 연결 해제나 버퍼 재할당이 발생할 경우, 커널이 기존 메모리 페이지를 해제한 후에도 사용자 공간에서 해당 메모리에 접근할 수 있어 발생합니다.

💡 쉬운 설명

컴퓨터의 화면 정보를 담는 메모리 공간이 사용 중인데도 시스템이 이를 강제로 비워버려 발생하는 문제입니다. 이로 인해 해킹 공격자가 이미 해제된 메모리 영역에 접근하여 시스템을 조작할 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: fbdev: udlfb: add vm_ops to dlfb_ops_mmap to prevent use-after-free dlfb_ops_mmap() uses remap_pfn_range() to map vmalloc framebuffer pages to userspace but sets no vm_ops on the VMA. This means the kernel cannot track active mmaps. When dlfb_realloc_framebuffer() replaces the backing buffer via FBIOPUT_VSCREENINFO, existing mmap PTEs are not invalidated. On USB disconnect, dlfb_ops_destroy() calls vfree() on the old pages while userspace PTEs still reference them, resulting in a use-after-free: the process retains read/write access to freed kernel pages. Add vm_operations_struct with open/close callbacks that maintain an atomic mmap_count on struct dlfb_data. In dlfb_realloc_framebuffer(), check mmap_count and return -EBUSY if the buffer is currently mapped, preventing buffer replacement while userspace holds stale PTEs. Tested with PoC using dummy_hcd + raw_gadget USB device emulation.

📍 영향받는 시스템

Linux kernel (fbdev: udlfb driver component)

⚔️ 공격 벡터

USB 장치 연결 해제 또는 FBIOPUT_VSCREENINFO를 통한 버퍼 재할당 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 vm_ops 및 mmap_count 체크 로직을 적용해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel