🇰🇷 한글 설명
Linux 커널의 CIFS 구현에서 DFS(Distributed File System) 참조 문자열 오프셋을 검증하지 않아 발생하는 취약점입니다. 악의적으로 조작된 오프셋을 통해 버퍼 범위를 벗어난 메모리 읽기가 가능하며, 이는 시스템 정보 유출로 이어질 수 있습니다.
💡 쉬운 설명
서버가 보내주는 잘못된 위치 정보를 제대로 확인하지 않아, 컴퓨터가 허용되지 않은 메모리 영역을 읽어버리는 문제입니다. 이를 통해 해커가 시스템의 중요한 정보를 몰래 훔쳐볼 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
cifs: validate DFS referral string offsets
parse_dfs_referrals() validates that the response header and referral
array fit in the received buffer, but each referral also contains string
offsets supplied by the server.
Those offsets are used to compute the DfsPath and NetworkAddress string
pointers without checking whether they still point inside the response
buffer. A malformed referral can therefore make the computed pointer
exceed the end of the buffer. The resulting negative max_len is then
passed to cifs_strndup_from_utf16(), and the non-Unicode path forwards it
to kstrndup() as a size_t, allowing strnlen() to read out of bounds.
Validate each string offset before deriving the string pointer.
📍 영향받는 시스템
DFS 기능을 사용하는 Linux 커널 (CIFS 모듈 포함 버전)
⚔️ 공격 벡터
조작된 DFS 참조 응답을 보내는 악의적인 서버를 통해 메모리 경계 외 읽기 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 배포판 보안 공지를 통해 확인