🇰🇷 한글 설명
Linux 커널의 nvmet 구성 요소에서 파일 기반 네임스페이스를 대상으로 ZNS 관련 Identify 명령을 실행할 때 NULL 포인터 역참조가 발생합니다. 이 취약점은 CONFIG_BLK_DEV_ZONED 옵션이 활성화된 경우 파일 기반 네임스페이스에서도 발생할 수 있어 시스템 오류(Oops)를 유발합니다.
💡 쉬운 설명
특정 저장 장치 명령을 보낼 때, 실제 물리 장치가 없는 가상 저장 공간에 잘못된 명령을 내리면 컴퓨터 시스템이 갑자기 멈추거나 오류가 발생할 수 있습니다. 이는 시스템의 안정성을 해칠 수 있는 결함입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nvmet: fix NULL pointer dereference in nvmet_execute_identify_ns_zns()
When a host issues an Identify command with CNS 05h (I/O Command Set
specific Identify Namespace) and CSI 02h (ZNS) targeting a file-backed
namespace, nvmet_execute_identify_ns_zns() calls bdev_is_zoned() on
req->ns->bdev. A file-backed namespace has no block device, so
req->ns->bdev is NULL and bdev_is_zoned() dereferences it, oopsing.
The I/O command set is selected by the host-supplied CSI field and the
command is routed here whenever CONFIG_BLK_DEV_ZONED is enabled,
independent of the namespace backing type, so any file-backed namespace
is exposed.
Reject the command with Invalid Field when the namespace is not backed
by a block device.
📍 영향받는 시스템
CONFIG_BLK_DEV_ZONED 옵션이 활성화된 Linux 커널 (파일 기반 네임스페이스 사용 시)
⚔️ 공격 벡터
호스트가 파일 기반 네임스페이스를 대상으로 특정 CNS 05h 및 CSI 02h 값을 포함한 Identify 명령을 전송
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 보안 업데이트 버전인지 확인