🔍 CVE-2026-72069

9.8
CVSS Score
CRITICAL
2026-08-15
2026-10-19 22:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 locking/rt 구성 요소에서 rt_spin_unlock() 함수가 락을 해제하기 전에 RCU 보호를 먼저 해제하는 취약점이 발견되었습니다. 이로 인해 메모리가 해제된 후에도 접근을 시도하는 Use-After-Free(UAF) 상황이 발생할 수 있습니다.

💡 쉬운 설명

데이터를 보호하는 잠금 장치를 풀기 전에 보호막을 먼저 제거하여, 데이터가 삭제된 후에도 시스템이 잘못된 메모리에 접근하게 만드는 오류입니다. 이로 인해 시스템이 충돌하거나 보안 공격에 노출될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: locking/rt: Fix the incorrect RCU protection in rt_spin_unlock() rt_spin_unlock() releases the RCU protection before unlocking the lock. That opens the door for the following UAF scenario: T1 T2 spin_lock(&p->lock); rcu_read_lock(); invalidate(p); p = rcu_dereference(ptr); rcu_assign_pointer(ptr, NULL); if (!p) return; spin_unlock(&p->lock); spin_lock(&p->lock) lock(&lock->lock); rcu_read_lock(); kfree_rcu(p); rcu_read_unlock(); .... spin_unlock(&p->lock) rcu_read_unlock(); // Ends grace period rcu_do_batch() kfree(p); UAF -> rt_mutex_cmpxchg_release(&lock->lock...) Regular spinlocks keep preemption disabled accross the unlock operation, which provides full RCU protection, but the RT substitution fails to resemble that. Same applies for the rwlock substitution. Move the rcu_read_unlock() invocation past the unlock operations to match the non-RT semantics. This makes it asymmetric vs. rt_xxx_lock(), but that's harmless as the caller needs to hold RCU read lock across the lock operation. The migrate_enable() call stays before the unlock operation because there is no per CPU operation in the unlock path which would require migration to be kept disabled.

📍 영향받는 시스템

Real-Time(RT) 패치가 적용된 Linux 커널 (rt_spin_lock 및 rwlock 사용 환경)

⚔️ 공격 벡터

특정 타이밍에 메모리 해제와 락 해제가 동시에 일어나는 레이스 컨디션을 이용한 Use-After-Free 공격

🛡️ 대응 방법

rt_spin_unlock() 및 rwlock 관련 함수에서 rcu_read_unlock() 호출 시점을 락 해제 이후로 변경한 최신 커널로 업데이트

🔧 검증 코드

커널 버전과 RT 패치 적용 여부를 확인하여 해당 취약점이 발생 가능한 환경인지 판단합니다.

Shell / Script
uname -a && grep -i 'PREEMPT_RT' /boot/config-$(uname -r) 2>/dev/null

📊 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