🔍 CVE-2026-90230

9.1
CVSS Score
CRITICAL
2026-09-17
2026-10-19 09:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 nvmet 모듈 내 nvmet_auth_negotiate() 함수에서 힙 영역 경계 외 읽기(Out-of-bounds read) 취약점이 발견되었습니다. 공격자가 조작된 전송 길이나 해시/DH 그룹 식별자 개수를 전달할 경우, 할당된 버퍼 범위를 벗어나 메모리를 읽을 수 있습니다.

💡 쉬운 설명

컴퓨터의 핵심 운영체제인 리눅스에서 데이터를 읽을 때 정해진 범위를 넘어서 읽어버리는 보안 결함이 발견되었습니다. 나쁜 의도를 가진 사용자가 잘못된 정보를 보내면 시스템의 민감한 메모리 정보가 유출될 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: nvmet: fix heap out-of-bounds read in nvmet_auth_negotiate() nvmet_execute_auth_send() allocates the DH-HMAC-CHAP message buffer with the host-supplied transfer length (tl) and hands it to nvmet_auth_negotiate() without passing tl along. nvmet_auth_negotiate() then reads the negotiate header and, for each of the halen hash identifiers and dhlen DH group identifiers, indexes into the fixed idlist[60] array (hashes at idlist[0..halen), groups at idlist[30..]). Neither the transfer length nor halen/dhlen is validated. A malicious or non-conformant host can report a tl smaller than the negotiate structure, or a halen/dhlen larger than the array (both are u8, up to 255), making the loops read past the end of the allocated buffer (heap out-of-bounds read). The sibling nvmet_auth_reply() already validates tl against the structure size; the negotiate path did not. Pass tl into nvmet_auth_negotiate(), reject a tl that does not cover the negotiate data plus one full protocol descriptor, and reject halen/dhlen larger than NVME_AUTH_DHCHAP_MAX_DH_IDS.

📍 영향받는 시스템

Linux Kernel (nvmet 모듈 사용 환경)

⚔️ 공격 벡터

조작된 DH-HMAC-CHAP 메시지를 전송하여 nvmet_auth_negotiate() 함수 내에서 경계 검증 미비점을 악용

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 nvmet_auth_negotiate()의 길이 검증 로직 적용

🔧 검증 코드

출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 배포판 보안 공지를 통해 확인

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:N/A:H

💻 영향받는 소프트웨어

Linux Kernel