🇰🇷 한글 설명
Linux 커널의 mpt3sas 드라이버에서 NVMe 요청 크기가 드라이버의 PRP 리스트 버퍼 제한인 2 MiB를 초과할 수 있는 취약점이 발견되었습니다. 이로 인해 드라이버가 허용 범위를 넘어서는 과도한 I/O를 요청할 경우 커널 오류(kernel oops)가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품인 저장장치에 데이터를 주고받을 때, 드라이버가 처리할 수 있는 용량보다 더 큰 데이터를 요청하면 시스템이 멈추거나 오류가 날 수 있는 문제입니다. 이를 방지하기 위해 데이터 요청 크기를 안전한 범위 내로 제한하도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
scsi: mpt3sas: Limit NVMe request size to 2 MiB
The HBA firmware reports NVMe MDTS values based on the underlying drive
capability. However, because the driver allocates a fixed 4K buffer for
the PRP list, accommodating at most 512 entries, the driver supports a
maximum I/O transfer size of 2 MiB.
Limit max_hw_sectors to the smaller of the reported MDTS and the 2 MiB
driver limit to prevent issuing oversized I/O that may lead to a kernel
oops.
📍 영향받는 시스템
mpt3sas 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
특정 NVMe 드라이브의 MDTS 값을 이용해 드라이버 제한을 초과하는 대용량 I/O 요청을 유도하여 커널 오류 발생
🛡️ 대응 방법
mpt3sas 드라이버의 수정 사항이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 버전인지 배포판 보안 공지를 통해 확인