🇰🇷 한글 설명
Linux 커널의 nvmet 구성 요소에서 nvmet_execute_identify_nslist() 함수 호출 시 NULL 포인터 역참조가 발생하는 취약점입니다. 특정 Identify 명령을 처리할 때 네임스페이스 객체가 초기화되지 않은 상태로 참조되어 시스템 크래시(Oops)를 유발할 수 있습니다.
💡 쉬운 설명
리눅스 서버의 저장 장치 관리 기능에서 특정 명령을 내릴 때 시스템이 갑자기 멈추거나 오류가 발생할 수 있는 문제입니다. 잘못된 메모리 주소를 참조하여 컴퓨터가 혼란을 겪는 상황입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nvmet: fix NULL pointer dereference in nvmet_execute_identify_nslist()
When a host issues an Identify command with CNS 07h (Active Namespace ID
List for a specific I/O Command Set), nvmet_execute_identify_nslist() is
called with match_css set. The command-set filter dereferences req->ns,
but this handler never calls nvmet_req_find_ns(), so req->ns is always
NULL (nvmet_req_init() resets it to NULL). As soon as an enabled
namespace with an NSID greater than the requested value exists,
req->ns->csi dereferences a NULL pointer and oopses.
Besides the crash, the comparison is logically wrong: to filter the list
by command set it must test the command set of the namespace being
iterated, not a single fixed value. Use the loop variable ns->csi.
📍 영향받는 시스템
Linux kernel (nvmet module 사용 환경)
⚔️ 공격 벡터
호스트가 특정 CNS 07h 값을 포함한 Identify 명령을 NVMe 타겟에 전송하여 발생
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 릴리스 버전인지 확인