🇰🇷 한글 설명
Linux 커널의 F2FS 파일 시스템에서 get_new_segment() 함수가 free_segmap와 free_secmap 사이의 불일치 상태를 적절히 처리하지 못하는 취약점입니다. 이 오류를 수정하기 위해 오류 발생 시 세그먼트 사용을 중단하고 해당 상태를 슈퍼블록에 기록하도록 개선되었습니다.
💡 쉬운 설명
파일을 저장하는 공간을 관리하는 과정에서 데이터 정보가 서로 맞지 않는 오류가 발생할 수 있는 문제입니다. 이 문제가 해결되지 않으면 시스템이 예상치 못한 방식으로 동작하거나 파일 시스템에 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix to bail out in get_new_segment()
------------[ cut here ]------------
WARNING: CPU: 3 PID: 579 at fs/f2fs/segment.c:2832 new_curseg+0x5e8/0x6dc
pc : new_curseg+0x5e8/0x6dc
Call trace:
new_curseg+0x5e8/0x6dc
f2fs_allocate_data_block+0xa54/0xe28
do_write_page+0x6c/0x194
f2fs_do_write_node_page+0x38/0x78
__write_node_page+0x248/0x6d4
f2fs_sync_node_pages+0x524/0x72c
f2fs_write_checkpoint+0x4bc/0x9b0
__checkpoint_and_complete_reqs+0x80/0x244
issue_checkpoint_thread+0x8c/0xec
kthread+0x114/0x1bc
ret_from_fork+0x10/0x20
get_new_segment() detects inconsistent status in between free_segmap
and free_secmap, let's record such error into super block, and bail
out get_new_segment() instead of continue using the segment.
📍 영향받는 시스템
F2FS 파일 시스템을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
로컬 권한을 가진 공격자가 파일 시스템 조작을 통해 오류를 유도할 수 있음
🛡️ 대응 방법
F2FS 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인