🇰🇷 한글 설명
Linux 커널의 nvme-fc 드라이버에서 rsp_iu 매핑 실패 시 cmd_iu DMA 매핑을 해제하지 못하는 취약점이 발견되었습니다. 이로 인해 rsp_iu 매핑 오류가 발생할 때마다 cmd_iu 매핑이 해제되지 않고 누수되는 메모리 누수 문제가 발생합니다.
💡 쉬운 설명
컴퓨터가 데이터를 주고받을 때 사용하는 메모리 공간을 제대로 돌려주지 않아 메모리가 계속 낭비되는 문제입니다. 이 현상이 반복되면 시스템의 메모리가 부족해져 성능 저하나 시스템 중단이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nvme-fc: unmap cmd_iu DMA on rsp_iu mapping failure in init_request
__nvme_fc_init_request() maps cmd_iu and then rsp_iu for DMA. If the
rsp_iu mapping fails, the original code only recorded the error and fell
through: it left the already-mapped cmd_iu unmapped and still marked the
op as FCPOP_STATE_IDLE before returning. Since blk-mq does not call
.exit_request() when .init_request() fails, the cmd_iu mapping is leaked
for every op whose rsp_iu mapping fails.
Jump to an error path on rsp_iu mapping failure that unmaps cmd_iu and
returns the error without marking the op idle, so it stays in the
FCPOP_STATE_UNINIT state set by the initial memset().
📍 영향받는 시스템
Linux kernel (nvme-fc driver component)
⚔️ 공격 벡터
직접적인 공격보다는 특정 조건(rsp_iu 매핑 실패)이 반복될 때 발생하는 자원 고갈(DoS) 형태의 영향
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인하십시오.