🇰🇷 한글 설명
리눅스 커널의 tmpfs 구성 요소에서 dquot rb-tree 정보를 처리할 때 발생하는 레이스 컨디션 취약점입니다. 특정 타이밍에 루트 노드가 변경되면 노드를 찾지 못해 경고가 발생하거나 시스템 불안정을 초래할 수 있습니다.
💡 쉬운 설명
두 가지 작업이 동시에 실행될 때 데이터의 위치를 찾는 과정에서 충돌이 발생하는 문제입니다. 이로 인해 시스템이 데이터를 제대로 찾지 못해 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tmpfs: fix race on handling dquot rbtree
A syzkaller reproducer found a race while attempting to remove dquot
information from the rb tree.
Fetching the rb_tree root node must also be protected by the
dqopt->dqio_sem, otherwise, giving the right timing, shmem_release_dquot()
will trigger a warning because it couldn't find a node in the tree, when
the real reason was the root node changing before the search starts:
Thread 1 Thread 2
- shmem_release_dquot() - shmem_{acquire,release}_dquot()
- fetch ROOT - Fetch ROOT
- acquire dqio_sem
- wait dqio_sem
- do something, triger a tree rebalance
- release dqio_sem
- acquire dqio_sem
- start searching for the node, but
from the wrong location, missing
the node, and triggering a warning.
📍 영향받는 시스템
Linux Kernel (tmpfs 관련 모듈이 포함된 버전)
⚔️ 공격 벡터
로컬 시스템에서 특정 타이밍에 맞춰 메모리 관리 작업을 유도하는 레이스 컨디션 공격
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.