🇰🇷 한글 설명
Linux 커널의 eventfs 모듈 내 eventfs_remove_rec() 함수에서 Use-After-Free 취약점이 발견되었습니다. 재귀적으로 자식 노드를 삭제하는 과정에서 삭제된 노드의 메모리 주소를 참조하여 발생하는 결함입니다. 이를 해결하기 위해 list_for_each_entry_safe()를 사용하여 다음 노드를 미리 저장하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터가 파일을 정리하는 과정에서 이미 삭제해서 없어진 정보를 다시 읽으려다 발생하는 오류입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
eventfs: Fix use-after-free in eventfs_remove_rec()
eventfs_remove_rec() recursively removes the child at the current loop
position. After the recursive call returns, list_for_each_entry() advances
by reading list.next from the removed child.
If free_ei() drops the final reference, release_ei() reuses the list/rcu
union to queue an SRCU callback. The child may be freed before that read.
The eventfs_mutex serializes list updates, but it does not keep the removed
child alive or prevent the SRCU callback from running.
Use list_for_each_entry_safe() to save the next sibling before recursively
removing the current child.
📍 영향받는 시스템
Linux Kernel (eventfs 모듈을 사용하는 버전)
⚔️ 공격 벡터
로컬 권한을 가진 공격자가 eventfs를 통해 특정 재귀적 삭제 작업을 수행하여 메모리 오류 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 버전인지 배포판 보안 공지를 통해 확인