🔍 CVE-2026-72130

9.8
CVSS Score
CRITICAL
2026-08-15
2026-10-21 13:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 nvmet-auth 구성 요소에서 DH-HMAC-CHAP 인증 과정 중 버퍼 길이 검증 미흡으로 인한 힙 기반 Out-of-Bounds Write 취약점이 발견되었습니다. 공격자가 조작된 AUTH_RECEIVE 길이를 전송할 경우, 할당된 메모리 범위를 초과하여 16바이트를 쓰는 메모리 오염이 발생할 수 있습니다.

💡 쉬운 설명

인증 과정에서 데이터 크기를 제대로 확인하지 않아, 정해진 공간보다 더 많은 데이터를 강제로 써넣을 수 있는 보안 약점입니다. 이를 통해 해커가 시스템의 메모리를 조작하여 보안을 무너뜨릴 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: nvmet-auth: reject short AUTH_RECEIVE buffers nvmet_execute_auth_receive() trusts the AUTH_RECEIVE allocation length after checking only that it is nonzero and matches the transfer length. In the SUCCESS1 and FAILURE1/default states, that lets a remote NVMe-oF initiator reach the fixed-size DH-HMAC-CHAP response builders with a kmalloc() buffer shorter than the response, so nvmet_auth_success1() and nvmet_auth_failure1() write past the allocation; both only WARN_ON the short length and then format the message anyway. Impact: A remote NVMe-oF initiator with access to an auth-enabled target can trigger a 16-byte heap out-of-bounds write via a one-byte AUTH_RECEIVE allocation length. Compute the minimum response length for the current DH-HMAC-CHAP step in nvmet_auth_receive_data_len() and report a zero data length when the host-supplied allocation length is shorter, so the existing zero-length check in nvmet_execute_auth_receive() rejects the command before any builder runs. The SUCCESS1 minimum is sizeof(struct nvmf_auth_dhchap_success1_data) plus the HMAC hash length, because the response hash is written into the rval[] flexible-array tail, so the minimum is state dependent rather than a flat sizeof. CHALLENGE keeps its existing variable-length guard in nvmet_auth_challenge(). This is reachable only when in-band DH-HMAC-CHAP authentication is configured on the target.

📍 영향받는 시스템

DH-HMAC-CHAP 인증이 활성화된 NVMe-oF 타겟을 사용하는 Linux 커널 시스템

⚔️ 공격 벡터

인증이 활성화된 NVMe-oF 타겟에 접근 가능한 원격 NVMe-oF 이니시에이터를 통한 공격

🛡️ 대응 방법

커널 패치를 적용하여 nvmet_auth_receive_data_len()에서 최소 응답 길이를 검증하도록 업데이트해야 합니다.

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 최신 보안 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel