🇰🇷 한글 설명
Linux 커널의 nvme-core 모듈에서 오류 처리 경로 중 dev_pm_qos 자원이 해제되지 않아 메모리 누수가 발생하는 문제가 해결되었습니다. 에러 언와인드 패치에 dev_pm_qos_hide_latency_tolerance() 호출을 추가하여 해당 메모리를 정상적으로 회수하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터가 SSD 같은 저장장치를 초기화하는 과정에서 사용한 메모리를 일부 반환하지 못하는 버그입니다. 시간이 지나면 사용 가능한 메모리가 조금씩 줄어들 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nvme-core: fix dev_pm_qos memleak
Call dev_pm_qos_hide_latency_tolerance() in the error unwind patch to
avoid following kmemleak:-
blktests (master) # kmemleak-clear; ./check nvme/044;
blktests (master) # kmemleak-scan ; kmemleak-show
nvme/044 (Test bi-directional authentication) [passed]
runtime 2.111s ... 2.124s
unreferenced object 0xffff888110c46240 (size 96):
comm "nvme", pid 33461, jiffies 4345365353 (age 75.586s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<0000000069ac2cec>] kmalloc_trace+0x25/0x90
[<000000006acc66d5>] dev_pm_qos_update_user_latency_tolerance+0x6f/0x100
[<00000000cc376ea7>] nvme_init_ctrl+0x38e/0x410 [nvme_core]
[<000000007df61b4b>] 0xffffffffc05e88b3
[<00000000d152b985>] 0xffffffffc05744cb
[<00000000f04a4041>] vfs_write+0xc5/0x3c0
[<00000000f9491baf>] ksys_write+0x5f/0xe0
[<000000001c46513d>] do_syscall_64+0x3b/0x90
[<00000000ecf348fe>] entry_SYSCALL_64_after_hwframe+0x72/0xdc
📍 영향받는 시스템
수정 이전의 Linux 커널을 사용하는 NVMe 저장장치 환경 (배포판별 커널 버전에 따라 상이)
⚔️ 공격 벡터
직접적인 원격 공격 경로는 없으며, 장치 초기화 오류가 발생하는 상황에서 메모리가 누수되는 자원 관리 결함입니다.
🛡️ 대응 방법
배포판에서 제공하는 보안 업데이트 또는 이 패치가 포함된 최신 Linux 커널로 업데이트하세요.
🔧 검증 코드
출력된 커널 버전을 배포판의 보안 권고문에서 확인하여 패치가 포함된 버전인지 비교하세요. 패치된 버전이면 수정 완료 상태입니다.