🇰🇷 한글 설명
Linux 커널의 ksmbd 모듈에서 응답 버퍼 길이를 계산할 때 하드코딩된 값을 사용하던 취약점이 발견되었습니다. 이로 인해 구조체의 오프셋이 잘못 계산되어 메모리 관리 오류가 발생할 수 있으며, 이를 offsetof() 함수를 사용하도록 수정하였습니다.
💡 쉬운 설명
컴퓨터가 데이터를 주고받을 때 필요한 공간의 크기를 잘못 계산하는 버그가 있었습니다. 이로 인해 시스템이 예상치 못한 동작을 하거나 보안 문제가 생길 수 있어 이를 바로잡았습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: replace hardcoded hdr2_len with offsetof() in smb2_calc_max_out_buf_len()
After this commit (e2b76ab8b5c9 "ksmbd: add support for read compound"),
response buffer management was changed to use dynamic iov array.
In the new design, smb2_calc_max_out_buf_len() expects the second
argument (hdr2_len) to be the offset of ->Buffer field in the
response structure, not a hardcoded magic number.
Fix the remaining call sites to use the correct offsetof() value.
📍 영향받는 시스템
ksmbd 모듈이 포함된 Linux 커널 버전 (e2b76ab8b5c9 커밋 이후 버전)
⚔️ 공격 벡터
네트워크를 통해 조작된 SMB2 요청을 보내 메모리 오버플로우 또는 잘못된 버퍼 참조 유도
🛡️ 대응 방법
커널을 최신 보안 패치가 적용된 버전으로 업데이트하거나 ksmbd 관련 패치를 적용
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인