🔍 CVE-2025-21850

9.8
CVSS Score
CRITICAL
2025-03-12
2026-07-30 06:21
✅ 완료

🇰🇷 한글 설명

Linux 커널의 nvmet 구성 요소에서 네임스페이스를 비활성화할 때 발생하는 크래시 취약점입니다. 네임스페이스를 비활성화하기 전 대기 중인 I/O 작업이 완료되었는지 확인하는 과정이 누락되어 시스템 오류가 발생할 수 있습니다.

💡 쉬운 설명

컴퓨터의 저장 장치 관리 기능이 꺼질 때, 아직 진행 중인 작업이 남아있음에도 불구하고 강제로 종료되어 시스템이 멈추거나 오류가 발생하는 문제입니다. 작업이 모두 끝날 때까지 기다리는 안전장치가 부족하여 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: nvmet: Fix crash when a namespace is disabled The namespace percpu counter protects pending I/O, and we can only safely diable the namespace once the counter drop to zero. Otherwise we end up with a crash when running blktests/nvme/058 (eg for loop transport): [ 2352.930426] [ T53909] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] PREEMPT SMP KASAN PTI [ 2352.930431] [ T53909] KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f] [ 2352.930434] [ T53909] CPU: 3 UID: 0 PID: 53909 Comm: kworker/u16:5 Tainted: G W 6.13.0-rc6 #232 [ 2352.930438] [ T53909] Tainted: [W]=WARN [ 2352.930440] [ T53909] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-3.fc41 04/01/2014 [ 2352.930443] [ T53909] Workqueue: nvmet-wq nvme_loop_execute_work [nvme_loop] [ 2352.930449] [ T53909] RIP: 0010:blkcg_set_ioprio+0x44/0x180 as the queue is already torn down when calling submit_bio(); So we need to init the percpu counter in nvmet_ns_enable(), and wait for it to drop to zero in nvmet_ns_disable() to avoid having I/O pending after the namespace has been disabled.

📍 영향받는 시스템

Linux kernel (특히 6.13.0-rc6 및 관련 nvmet 모듈 사용 버전)

⚔️ 공격 벡터

로컬 권한을 가진 사용자가 특정 I/O 작업과 네임스페이스 비활성화를 동시에 수행하여 시스템 크래시 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 nvmet_ns_disable()의 동기화 로직 적용

🔧 검증 코드

출력된 커널 버전이 취약점이 해결된 패치 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel