🇰🇷 한글 설명
Linux 커널의 F2FS 파일 시스템에서 orphan inode의 entry_count를 검증하지 않아 발생하는 취약점입니다. 조작된 이미지로 마운트할 경우 recovery 루프가 배열 범위를 벗어나 읽게 되어 커널 패닉(Panic)을 유발할 수 있습니다.
💡 쉬운 설명
파일 시스템의 특정 정보를 읽을 때 숫자가 너무 크게 설정되어 있으면 컴퓨터가 잘못된 메모리 영역을 읽으려다 멈춰버리는 문제입니다. 악의적으로 만들어진 저장 장치를 연결하면 컴퓨터가 갑자기 꺼지거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
f2fs: validate orphan inode entry count
f2fs_recover_orphan_inodes() trusts the orphan block entry_count when
replaying orphan inodes from the checkpoint pack. A corrupted entry_count
larger than F2FS_ORPHANS_PER_BLOCK makes the recovery loop read past the
ino[] array and interpret footer or following data as inode numbers.
On a crafted image, mounting an unpatched kernel can drive orphan recovery
into f2fs_bug_on() and panic the kernel. Validate entry_count before
consuming entries so corrupted checkpoint data fails the mount with
-EFSCORRUPTED and requests fsck instead.
Set ERROR_INCONSISTENT_ORPHAN as well, so the corruption reason can be
recorded in the superblock s_errors[] field. This gives fsck a persistent
hint even though mount-time orphan recovery failure may leave no chance to
persist SBI_NEED_FSCK through a checkpoint.
📍 영향받는 시스템
F2FS 파일 시스템을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
조작된 F2FS 파일 시스템 이미지를 포함한 저장 매체를 시스템에 마운트
🛡️ 대응 방법
F2FS orphan inode 검증 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인