🔍 CVE-2022-50552

7.8
CVSS Score
HIGH
2025-10-07
2026-11-05 21:17
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 blk-mq 구성 요소에서 하드웨어 큐를 재초기화할 때 엘리베이터 스위치 전환 과정에서 레이스 컨디션이 발생할 수 있습니다. 이로 인해 사용 후 해제(Use-After-Free) 오류가 발생하여 커널 패닉 및 시스템 중단이 일어날 수 있습니다.

💡 쉬운 설명

컴퓨터의 데이터를 저장하는 장치를 다시 설정하는 과정에서 데이터 처리 순서를 결정하는 프로그램이 충돌을 일으키는 문제입니다. 이 충돌이 발생하면 컴퓨터 시스템이 갑자기 멈추거나 꺼질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: blk-mq: use quiesced elevator switch when reinitializing queues The hctx's run_work may be racing with the elevator switch when reinitializing hardware queues. The queue is merely frozen in this context, but that only prevents requests from allocating and doesn't stop the hctx work from running. The work may get an elevator pointer that's being torn down, and can result in use-after-free errors and kernel panics (example below). Use the quiesced elevator switch instead, and make the previous one static since it is now only used locally. nvme nvme0: resetting controller nvme nvme0: 32/0/0 default/read/poll queues BUG: kernel NULL pointer dereference, address: 0000000000000008 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 80000020c8861067 P4D 80000020c8861067 PUD 250f8c8067 PMD 0 Oops: 0000 [#1] SMP PTI Workqueue: kblockd blk_mq_run_work_fn RIP: 0010:kyber_has_work+0x29/0x70 ... Call Trace: __blk_mq_do_dispatch_sched+0x83/0x2b0 __blk_mq_sched_dispatch_requests+0x12e/0x170 blk_mq_sched_dispatch_requests+0x30/0x60 __blk_mq_run_hw_queue+0x2b/0x50 process_one_work+0x1ef/0x380 worker_thread+0x2d/0x3e0

📍 영향받는 시스템

Linux Kernel (blk-mq subsystem 관련 버전)

⚔️ 공격 벡터

로컬 공격자가 특정 I/O 패턴을 유도하여 커널 레이스 컨디션을 트리거함으로써 시스템을 중단시킬 수 있음

🛡️ 대응 방법

리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

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

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