🇰🇷 한글 설명
Linux 커널의 isofs 모듈에서 Rock Ridge 심볼릭 링크(SL) 레코드를 처리할 때 경계 검사가 누락되어 발생하는 취약점입니다. 공격자가 조작된 ISO 9660 이미지를 통해 잘못된 길이를 가진 구성 요소를 전달하면, 커널 메모리 경계를 벗어난 읽기(Out-of-bounds read)가 발생하여 인접한 커널 메모리 정보가 유출될 수 있습니다.
💡 쉬운 설명
악성 데이터가 담긴 CD나 USB를 컴퓨터에 연결하기만 해도 컴퓨터 내부의 중요한 정보가 몰래 빠져나갈 수 있는 보안 약점입니다. 시스템이 파일의 길이를 제대로 확인하지 않고 읽으려 할 때 발생하는 문제입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
isofs: bound Rock Ridge symlink components to the SL record
get_symlink_chunk() and the SL handling in
parse_rock_ridge_inode_internal() walk the variable-length components of
a Rock Ridge "SL" (symbolic link) record. Each component is a two-byte
header (flags, len) followed by len bytes of text, so it occupies
slp->len + 2 bytes. Both loops read slp->len and advance to the next
component, and get_symlink_chunk() additionally does
memcpy(rpnt, slp->text, slp->len), but neither checks that the component
lies within the SL record before dereferencing it.
A crafted SL record whose component declares a len that runs past the
record (rr->len) therefore triggers an out-of-bounds read of up to 255
bytes. When the record sits at the tail of its backing buffer - for
example a small kmalloc()ed continuation block reached through a CE
record - the read crosses the allocation; get_symlink_chunk() then
copies the out-of-bounds bytes into the symlink body returned to user
space by readlink(), disclosing adjacent kernel memory.
ISO 9660 images are routinely mounted from untrusted removable media -
desktop environments auto-mount them (e.g. via udisks2) without
CAP_SYS_ADMIN - so the record contents are attacker-controlled.
Reject any component that does not fit in the remaining record bytes
before using it. In get_symlink_chunk() return NULL, like the existing
output-buffer (plimit) checks, so a malformed record makes readlink()
fail with -EIO rather than silently returning a truncated target; in
parse_rock_ridge_inode_internal() stop the inode-size walk.
📍 영향받는 시스템
Rock Ridge 기능을 사용하는 Linux 커널 (isofs 모듈 포함)
⚔️ 공격 벡터
조작된 Rock Ridge 심볼릭 링크 레코드가 포함된 ISO 9660 이미지 파일을 마운트하여 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인