🇰🇷 한글 설명
리눅스 커널의 libfs 구성 요소 내 get_stashed_dentry() 함수에서 발생하는 취약점입니다. 해당 함수가 stashed 위치를 역참조하기 전에 RCU 잠금을 확보하지 않아 Use-After-Free(UAF) 문제가 발생할 수 있습니다. 이를 해결하기 위해 READ_ONCE() 대신 rcu_dereference()를 사용하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 핵심 운영체제인 리눅스에서 메모리를 관리하는 과정 중 실수로 이미 사용이 끝난 메모리 영역을 다시 참조할 수 있는 오류가 발견되었습니다. 이 오류를 이용하면 시스템이 불안정해지거나 해커가 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
libfs: fix get_stashed_dentry()
get_stashed_dentry() tries to optimistically retrieve a stashed dentry
from a provided location. It needs to ensure to hold rcu lock before it
dereference the stashed location to prevent UAF issues. Use
rcu_dereference() instead of READ_ONCE() it's effectively equivalent
with some lockdep bells and whistles and it communicates clearly that
this expects rcu protection.
📍 영향받는 시스템
RCU 보호 메커니즘이 적용되지 않은 이전 버전의 리눅스 커널
⚔️ 공격 벡터
커널 메모리 관리 로직의 허점을 이용한 Use-After-Free(UAF) 공격
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 최신 패치 버전인지 배포판 보안 공지를 통해 확인