🔍 CVE-2026-93054

7.0
CVSS Score
HIGH
2026-09-17
2026-10-19 10:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 UIO 드라이버에서 장치 등록 실패 시 처리 과정 중 stale info 포인터가 남는 취약점이 발견되었습니다. 등록 실패 후 호출자가 uio_info 구조체를 해제하더라도, 이미 열린 파일 디스크립터가 해당 메모리를 참조하여 Use-After-Free가 발생할 수 있습니다.

💡 쉬운 설명

장치를 등록하다가 오류가 났을 때, 시스템이 사용하던 메모리 주소를 제대로 지우지 않아 발생하는 문제입니다. 공격자가 이 틈을 타서 이미 해제된 메모리에 접근하여 시스템을 불안정하게 만들거나 공격할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: uio: Fix stale info pointer in failed registration path After device_add(), the UIO device is visible to userspace and /dev/uioX can be opened. If a later setup step fails, __uio_register_device() unwinds the device but leaves idev->info pointing at the caller-owned struct uio_info. That is unsafe when an opener races with the failed registration path. The open file keeps a reference to the uio_device, while the caller sees registration failure and may free its struct uio_info. Later file operations can then follow idev->info and dereference freed memory. Handle post-device_add() failures like unregister: remove UIO attributes while the info pointer is still valid, then clear idev->info under info_lock and wake existing waiters/async users before removing the device and minor. This makes already-open file descriptors observe the same "device gone" state as normal uio_unregister_device().

📍 영향받는 시스템

Linux kernel (UIO driver component)

⚔️ 공격 벡터

장치 등록 실패 시점과 사용자 공간에서의 파일 오픈 시점 사이의 레이스 컨디션을 이용한 Use-After-Free 공격

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 UIO 등록 실패 시의 메모리 해제 로직을 수정해야 함

🔧 검증 코드

출력된 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel