🇰🇷 한글 설명
Linux 커널의 btrfs 파일시스템에서 inode 제거(eviction) 시 트레이싱 설정 중 root 포인터가 NULL일 수 있음에도 이를 확인하지 않아 NULL 역참조가 발생하는 문제입니다. 해당 함수는 root가 NULL인 경우 root_objectid를 0으로 설정하거나, root 확인 이후에 트레이싱을 설정하도록 수정되었습니다.
💡 쉬운 설명
리눅스 파일 시스템(btrfs)에서 파일을 정리하는 과정 중 잘못된 메모리 참조가 발생할 수 있는 결함입니다. 이로 인해 시스템이 비정상 종료되거나 불안정해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
btrfs: fix NULL dereference on root when tracing inode eviction
When evicting an inode the first thing we do is to setup tracing for it,
which implies fetching the root's id. But in btrfs_evict_inode() the
root might be NULL, as implied in the next check that we do in
btrfs_evict_inode().
Hence, we either should set the ->root_objectid to 0 in case the root is
NULL, or we move tracing setup after checking that the root is not
NULL. Setting the rootid to 0 at least gives us the possibility to trace
this call even in the case when the root is NULL, so that's the solution
taken here.
📍 영향받는 시스템
Linux 커널 btrfs 파일시스템을 사용하는 시스템 (수정 패치가 적용된 커널 버전 이전)
⚔️ 공격 벡터
로컬 사용자가 btrfs 파일시스템 관련 작업을 유발하여 커널 NULL 포인터 역참조를 일으키는 방식으로, 주로 서비스 거부(DoS) 형태로 악용될 수 있습니다.
🛡️ 대응 방법
배포판 벤더가 제공하는 최신 커널 보안 업데이트를 적용하고 시스템을 재부팅하세요.
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지에서 해당 CVE의 패치가 포함된 버전과 비교하여, 같거나 높으면 패치가 적용된 것입니다.