🇰🇷 한글 설명
Linux 커널의 nvmet-auth 구성 요소에서 인증 응답 버퍼를 초기화하지 않아 발생하는 취약점입니다. DH-HMAC-CHAP 빌더가 고정된 크기의 메시지만 작성함에도 불구하고, 전체 할당된 크기가 네트워크로 전송되어 초기화되지 않은 슬랩 메모리의 잔여 데이터가 유출될 수 있습니다.
💡 쉬운 설명
인증 과정에서 컴퓨터 메모리에 남아있던 민감한 정보가 공격자에게 그대로 전달될 수 있는 보안 결함입니다. 메모리를 깨끗이 비우지 않고 그대로 보내는 바람에 발생한 문제입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nvmet-auth: zero the AUTH_RECEIVE response buffer
nvmet_execute_auth_receive() allocates the response buffer with kmalloc()
sized by the host-supplied AUTH_RECEIVE allocation length, but the
DH-HMAC-CHAP builders write only a fixed-size message into it. The full
allocation length is then copied to the wire by nvmet_copy_to_sgl(), so a
remote initiator receives the bytes past the built message -- up to nearly
a page of uninitialized slab -- during the pre-authentication handshake.
Allocate the buffer with kzalloc() so the unwritten tail is zeroed before
it is sent; conforming responses are unaffected.
📍 영향받는 시스템
Linux kernel (nvmet-auth 모듈 사용 시스템)
⚔️ 공격 벡터
원격 공격자가 인증 핸드셰이크 과정에서 특수하게 조작된 AUTH_RECEIVE 요청을 전송하여 메모리 정보 탈취
🛡️ 대응 방법
커널을 업데이트하여 nvmet_execute_auth_receive() 함수가 kmalloc() 대신 kzalloc()을 사용하도록 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인