🇰🇷 한글 설명
Linux 커널의 ksmbd 모듈 내 smb2_get_ea() 함수에서 EaNameLength 값을 검증하지 않아 발생하는 취약점입니다. 클라이언트 요청의 길이를 확인 없이 strncmp()에 직접 전달함으로써, 초기화되지 않은 힙 메모리 값이 클라이언트로 유출될 수 있습니다.
💡 쉬운 설명
서버가 클라이언트가 보낸 데이터의 길이를 제대로 확인하지 않아, 메모리에 남아있는 민감한 정보가 외부로 새 나갈 수 있는 문제입니다. 해커가 이 정보를 이용해 시스템의 다른 보안 정보를 알아낼 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: validate EaNameLength in smb2_get_ea()
smb2_get_ea() reads ea_req->EaNameLength from the client request and
passes it directly to strncmp() as the comparison length without
verifying that the length of the name really is the size of the input
buffer received.
Fix this up by properly checking the size of the name based on the value
received and the overall size of the request, to prevent a later
strncmp() call to use the length as a "trusted" size of the buffer.
Without this check, uninitialized heap values might be slowly leaked to
the client.
📍 영향받는 시스템
ksmbd 모듈을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
조작된 SMB2 요청을 통해 EaNameLength 값을 비정상적으로 설정하여 전송
🛡️ 대응 방법
ksmbd의 smb2_get_ea() 함수에 입력 버퍼 크기 검증 로직이 포함된 최신 커널로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 패치된 최신 버전인지 보안 공지(CVE-2026-31612)와 대조하여 확인