🇰🇷 한글 설명
Linux 커널의 ksmbd 구성 요소에서 ACL(액세스 제어 목록) 처리 중 메모리 누수 및 잘못된 오류 처리 취약점이 발견되었습니다. ndr_decode_v4_ntacl 함수 실패 시 메모리가 해제되지 않거나, 잘못된 크기 검증 시 오류 코드를 반환하지 않고 메모리를 누수하는 문제가 포함되어 있습니다.
💡 쉬운 설명
컴퓨터의 파일 권한을 확인하는 과정에서 메모리를 제대로 비워주지 않아 시스템 자원이 낭비되는 문제가 있습니다. 이 문제가 반복되면 시스템 성능이 저하되거나 불안정해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: Fix acl.sd_buf memory leak and invalid sd_size error handling
1. When ndr_decode_v4_ntacl() fails, the code jumped to free_n_data
which only freed n.data, skipping kfree(acl.sd_buf) and leaking
the buffer. Zero-initialize struct xattr_ntacl acl, reorder error
labels to out_free to release acl.sd_buf on all error paths.
2. if (acl.sd_size < sizeof(struct smb_ntsd)) is true, original code
returned success without freeing sd_buf and left stale *pntsd.
Set rc = -EINVAL before jumping to out_free to return error code and
free buffer.
📍 영향받는 시스템
ksmbd 모듈을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
조작된 SMB/NDR ACL 데이터를 전송하여 메모리 누수를 유발하는 네트워크 공격
🛡️ 대응 방법
ksmbd 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 ksmbd 메모리 누수 패치가 포함된 최신 보안 업데이트 버전인지 확인합니다.