🇰🇷 한글 설명
Linux 커널의 ksmbd 모듈에서 SMB2_TRANSFORM_PROTO_NUM 패킷에 대한 최소 PDU 크기 검증이 누락된 취약점입니다. 공격자가 조작된 짧은 변환 패킷을 보내면 커널이 요청 할당 범위를 벗어나 데이터를 읽게 되어, 민감한 정보가 인증되지 않은 클라이언트에게 유출될 수 있습니다.
💡 쉬운 설명
컴퓨터가 데이터를 주고받을 때 규격보다 너무 짧은 데이터를 보내면 오류가 발생하는 문제입니다. 해커가 이 점을 이용해 아주 짧은 가짜 데이터를 보내면, 컴퓨터 메모리에 들어있는 중요한 정보가 밖으로 새 나갈 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: validate minimum PDU size for transform requests
The receive path applies the minimum SMB2 PDU size check only when
ProtocolId is SMB2_PROTO_NUMBER. A packet carrying
SMB2_TRANSFORM_PROTO_NUM bypasses the check even when the negotiated
dialect does not provide transform handling.
On an SMB 2.1 connection, a short transform packet therefore reaches
init_smb2_rsp_hdr(), which interprets the request as a full SMB2 header
and reads beyond the request allocation. The copied fields can then be
returned to the unauthenticated client.
Compression transforms are converted to ordinary SMB2 messages before
protocol validation. After that conversion, validate ordinary SMB2
requests against SMB2_MIN_SUPPORTED_PDU_SIZE and require encryption
transform requests to contain both a transform header and an SMB2
header. This rejects truncated requests before work allocation.
📍 영향받는 시스템
Linux kernel (ksmbd module enabled)
⚔️ 공격 벡터
네트워크를 통해 조작된 짧은 SMB2_TRANSFORM 패킷을 전송하여 메모리 정보 유출 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 ksmbd의 PDU 크기 검증 로직 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.