🇰🇷 한글 설명
Linux 커널의 SMB 클라이언트 모듈 내 cifs_query_reparse_point() 함수에서 경계 검사 미흡으로 인한 취약점이 발견되었습니다. 서버가 제공하는 데이터 오프셋이 구조체의 최소 헤더 크기인 8바이트보다 작을 경우, 구조체 필드에 접근할 때 범위를 벗어난 메모리 읽기가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 서버로부터 데이터를 받아올 때, 데이터의 크기가 충분한지 제대로 확인하지 않아 발생하는 문제입니다. 이로 인해 정해진 범위를 넘어서는 잘못된 메모리 영역을 읽게 되어 시스템 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
smb: client: fix reparse buffer bounds in cifs_query_reparse_point()
In cifs_query_reparse_point(), the start >= end check before casting to
struct reparse_data_buffer * only ensures the start pointer is within the
response. It fails to verify that there is enough space remaining for the
fixed 8-byte header of the structure.
If a server provides a DataOffset that leaves less than 8 bytes remaining,
the check passes, but subsequent reads of ReparseTag and ReparseDataLength
will occur out-of-bounds.
Fix this by ensuring the remaining space is at least the size of the
reparse_data_buffer structure before accessing its fields.
📍 영향받는 시스템
Linux kernel (SMB client module 사용 시스템)
⚔️ 공격 벡터
악의적인 SMB 서버가 조작된 Reparse Data Offset을 전송하여 클라이언트의 메모리 범위를 벗어난 읽기 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인
💻 영향받는 소프트웨어
IBM Security Verify Access