🇰🇷 한글 설명
Linux 커널의 Btrfs 파일 시스템에서 merge_reloc_roots() 함수 호출 시 reloc root 정리 과정에 결함이 발견되었습니다. 메모리 배리어(barrier)를 사용하지 않고 root 정보를 초기화하여 데이터 무결성 문제가 발생할 수 있으며, 특정 조건에서 잘못된 비트가 삭제될 위험이 있습니다.
💡 쉬운 설명
파일 시스템이 데이터를 정리하는 과정에서 컴퓨터 메모리에 기록하는 순서가 어긋나 데이터가 손상될 수 있는 문제입니다. 이로 인해 파일 시스템의 구조가 깨지거나 예상치 못한 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
btrfs: fix reloc root cleanup in merge_reloc_roots()
If the root we got has zero root refs in its root item, we are resetting
the root's ->reloc_root without using barriers like we do everywhere else.
Sashiko complained about this while reviewing another patch, and it's
correct (see the Link tag below).
Also, we should not clear BTRFS_ROOT_DEAD_RELOC_TREE from the root unless
the root points to the reloc root we have.
Fix this by using clear_reloc_root(), which issues the memory barrier
after setting the root's ->reloc_root to NULL and before clearing the bit
BTRFS_ROOT_DEAD_RELOC_TREE from the root.
📍 영향받는 시스템
Linux Kernel (Btrfs 파일 시스템을 사용하는 모든 시스템)
⚔️ 공격 벡터
로컬 공격자가 특수하게 조작된 Btrfs 파일 시스템 구조를 생성하여 메모리 불일치를 유도할 수 있음
🛡️ 대응 방법
Btrfs 관련 수정 사항이 포함된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인