🔍 CVE-2025-71159

9.8
CVSS Score
CRITICAL
2026-01-23
2026-07-30 06:24
✅ 완료

🇰🇷 한글 설명

Linux 커널의 btrfs 파일 시스템에서 btrfs_get_or_create_delayed_node() 함수 호출 시 메모리 장벽(memory barrier) 부재로 인해 발생하는 Use-After-Free 취약점입니다. 참조 횟수(refcount) 설정과 노드 할당 순서가 뒤바뀌면서 다른 스레드가 초기화되지 않은 참조 횟수를 참조하여 메모리 오류를 유발할 수 있습니다.

💡 쉬운 설명

데이터를 저장하는 과정에서 순서가 꼬여, 이미 사용 중이거나 잘못된 메모리 주소를 참조하게 되는 오류입니다. 이로 인해 시스템이 갑자기 멈추거나 보안상 위험한 상태가 될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix use-after-free warning in btrfs_get_or_create_delayed_node() Previously, btrfs_get_or_create_delayed_node() set the delayed_node's refcount before acquiring the root->delayed_nodes lock. Commit e8513c012de7 ("btrfs: implement ref_tracker for delayed_nodes") moved refcount_set inside the critical section, which means there is no longer a memory barrier between setting the refcount and setting btrfs_inode->delayed_node. Without that barrier, the stores to node->refs and btrfs_inode->delayed_node may become visible out of order. Another thread can then read btrfs_inode->delayed_node and attempt to increment a refcount that hasn't been set yet, leading to a refcounting bug and a use-after-free warning. The fix is to move refcount_set back to where it was to take advantage of the implicit memory barrier provided by lock acquisition. Because the allocations now happen outside of the lock's critical section, they can use GFP_NOFS instead of GFP_ATOMIC.

📍 영향받는 시스템

btrfs 파일 시스템을 사용하는 Linux 커널 버전

⚔️ 공격 벡터

특수하게 조작된 파일 시스템 작업이나 멀티스레드 환경에서의 동시 접근을 통한 로컬 공격

🛡️ 대응 방법

btrfs 관련 패치가 적용된 최신 Linux 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 최신 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel