🇰🇷 한글 설명
Linux 커널의 F2FS 파일 시스템에서 체크포인트 데이터가 포함된 섹션을 잘못 선택하여 발생하는 취약점입니다. LFS 또는 SSR 모드 사용 시 가비지 컬렉션(GC) 과정에서 체크포인트 블록을 제대로 확인하지 않아 데이터 손상이나 시스템 패닉을 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 저장 장치를 관리하는 소프트웨어에서 중요한 데이터를 실수로 지우거나 덮어쓸 수 있는 오류가 발견되었습니다. 이 오류가 발생하면 시스템이 갑자기 멈추거나 저장된 파일이 망가질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix to avoid touching checkpointed data in get_victim()
In CP disabling mode, there are two issues when using LFS or SSR | AT_SSR
mode to select victim:
1. LFS is set to find source section during GC, the victim should have
no checkpointed data, since after GC, section could not be set free for
reuse.
Previously, we only check valid chpt blocks in current segment rather
than section, fix it.
2. SSR | AT_SSR are set to find target segment for writes which can be
fully filled by checkpointed and newly written blocks, we should never
select such segment, otherwise it can cause panic or data corruption
during allocation, potential case is described as below:
a) target segment has 'n' (n < 512) ckpt valid blocks
b) GC migrates 'n' valid blocks to other segment (segment is still
in dirty list)
c) GC migrates '512 - n' blocks to target segment (segment has 'n'
cp_vblocks and '512 - n' vblocks)
d) If GC selects target segment via {AT,}SSR allocator, however there
is no free space in targe segment.
📍 영향받는 시스템
F2FS 파일 시스템을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
로컬 공격자가 특정 파일 시스템 작업(가비지 컬렉션 유도 등)을 통해 시스템 패닉이나 데이터 손상을 유발할 수 있음
🛡️ 대응 방법
F2FS 관련 패치가 적용된 최신 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.