CVE-2026-53368 in Linux
요약
\~에 의해 VulDB • 2026. 07. 19.
리눅스 커널에서 다음 취약점이 해결되었습니다:
f2fs: 잘못된 nat_entry 플래그 사용으로 인한 fsck 불일치 수정
f2fs_need_dentry_mark()는 체크포인트 경로와 상호 배제(mutual exclusion) 없이 nat_entry 플래그를 읽으며, 이로 인해 잘못된 inode 블록 표시 상태가 발생할 수 있습니다. 시나리오는 다음과 같습니다:
'파일 A' 생성 및 쓰기 & fsync 체크포인트 작성 - f2fs_do_sync_file // 인라인 inode - f2fs_write_inode // inode folio가 더티(dirty) 상태임 - f2fs_write_checkpoint - f2fs_flush_merged_writes - f2fs_sync_node_pages - f2fs_fsync_node_pages // 더티 노드 없음 - f2fs_need_inode_block_update // true 반환 - f2fs_fsync_node_pages // inode가 더티화됨 - f2fs_need_dentry_mark // true 반환 - f2fs_flush_nat_entries - f2fs_write_checkpoint 종료 - __write_node_folio // DENT_BIT_SHIFT 설정된 inode 포함
SPO(단일 포인트 오브 페일), "fsck --dry-run" 실행 시 이미 체크포인트되었지만 여전히 DENT_BIT_SHIFT가 설정되어 있는 inode를 발견함.
f2fs_need_dentry_mark()에서 관찰되는 상태는 sbi->node_write 잠금을 획득한 후 __write_node_folio()에서 관찰되는 상태와 다를 수 있습니다. 근본 원인은 IS_CHECKPOINTED 및 HAS_FSYNCED_INODE의 의미론(semantics)이 체크포인트 쓰기가 완전히 완료된 후에야 보장되기 때문입니다.
본 패치는 set_dentry_mark()를 __write_node_folio() 내부로 이동하고, 이를 sbi->node_write 잠금으로 보호합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.