🇰🇷 한글 설명
XFS 파일시스템의 언마운트 과정에서 AIL 푸시가 백그라운드 회수 및 inodegc 작업이 실행되는 동안 수행되어 경쟁 조건이 발생합니다. 이로 인해 더티 인odes가 잘못 처리되거나 해제될 수 있으며, 이는 사용 후 자유(UAF)와 무관한 심각한 논리 결함입니다.
💡 쉬운 설명
시스템을 종료하거나 디스크를 분리할 때 파일 시스템이 정리되는 순서가 잘못되어 데이터가 손상되거나 시스템이 불안정해질 수 있습니다. 이는 특정 공격보다는 시스템 내부 작업의 충돌로 인해 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
xfs: stop reclaim before pushing AIL during unmount
The unmount sequence in xfs_unmount_flush_inodes() pushed the AIL while
background reclaim and inodegc are still running. This is broken
independently of any use-after-free issues - background reclaim and
inodegc should not be running while the AIL is being pushed during
unmount, as inodegc can dirty and insert inodes into the AIL during the
flush, and background reclaim can race to abort and free dirty inodes.
Reorder xfs_unmount_flush_inodes() to stop inodegc and cancel background
reclaim before pushing the AIL. Stop inodegc before cancelling
m_reclaim_work because the inodegc worker can re-queue m_reclaim_work
via xfs_inodegc_set_reclaimable.
📍 영향받는 시스템
Linux kernel (XFS 파일시스템 사용 시스템)
⚔️ 공격 벡터
로컬 시스템의 XFS 파일시스템 언마운트 작업 수행
🛡️ 대응 방법
Linux 커널을 최신 안정 버전으로 업데이트하여 패치 적용
🔧 검증 코드
출력된 커널 버전이 패치가 적용된 최신 버전인지 확인합니다.