🔍 CVE-2025-37759

5.5
CVSS Score
MEDIUM
2025-05-01
2026-10-21 13:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ublk 구성 요소에서 ublk_abort_queue() 함수가 복구 및 재발행 시 요청 참조를 적절히 확보하지 못하는 취약점이 발견되었습니다. 이로 인해 io_uring 명령 취소 시 요청이 잘못 처리되어 커널 NULL 포인터 역참조가 발생하고 시스템 패닉(Kernel Panic)이 유발될 수 있습니다.

💡 쉬운 설명

컴퓨터의 데이터 처리 요청을 취소하는 과정에서 메모리 관리 오류가 발생하여 시스템이 갑자기 멈추거나 꺼질 수 있는 문제입니다. 특정 상황에서 데이터 요청이 이미 사라졌는데 다시 사용하려고 시도할 때 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ublk: fix handling recovery & reissue in ublk_abort_queue() Commit 8284066946e6 ("ublk: grab request reference when the request is handled by userspace") doesn't grab request reference in case of recovery reissue. Then the request can be requeued & re-dispatch & failed when canceling uring command. If it is one zc request, the request can be freed before io_uring returns the zc buffer back, then cause kernel panic: [ 126.773061] BUG: kernel NULL pointer dereference, address: 00000000000000c8 [ 126.773657] #PF: supervisor read access in kernel mode [ 126.774052] #PF: error_code(0x0000) - not-present page [ 126.774455] PGD 0 P4D 0 [ 126.774698] Oops: Oops: 0000 [#1] SMP NOPTI [ 126.775034] CPU: 13 UID: 0 PID: 1612 Comm: kworker/u64:55 Not tainted 6.14.0_blk+ #182 PREEMPT(full) [ 126.775676] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-1.fc39 04/01/2014 [ 126.776275] Workqueue: iou_exit io_ring_exit_work [ 126.776651] RIP: 0010:ublk_io_release+0x14/0x130 [ublk_drv] Fixes it by always grabbing request reference for aborting the request.

📍 영향받는 시스템

ublk 드라이버를 사용하는 Linux 커널 (커밋 8284066946e 이전 버전)

⚔️ 공격 벡터

로컬 사용자가 ublk 및 io_uring을 사용하여 특정 조건의 입출력 요청을 생성하고 취소함으로써 발생

🛡️ 대응 방법

커널 패치(Commit 8284066946e 포함 버전)를 적용하여 ublk 요청 참조 관리 로직을 업데이트해야 함

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel