🇰🇷 한글 설명
리눅스 커널의 OPP(Operating Performance Points) 구조체에서 초기화 순서 오류로 인해 Use-After-Free 취약점이 발생할 수 있습니다. 특정 상황에서 참조 카운트가 해제될 때 이미 해제된 메모리 영역인 opp_table에 접근을 시도하여 시스템 불안정이나 보안 문제를 야기할 수 있습니다.
💡 쉬운 설명
컴퓨터가 작업을 마친 후 정리하는 과정에서, 이미 버려진 메모리 주소를 다시 사용하려고 시도하는 오류입니다. 이로 인해 시스템이 갑자기 멈추거나 해커가 시스템 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
OPP: Fix cleanup ordering
Commit 173e02d67494 ("OPP: Initialize scope-based pointers inline")
added initialization for all pointers. In some cases, the ordering was
changed so that *opp_table was initialized after *opp. This also changes
the order of the registered cleanup functions.
When the cleanup happens, this can cause use-after-free errors when the
last reference is released and the release function _opp_kref_release
tries to access the already freed opp->opp_table.
Initialize *opp_table before *opp again to fix this and ensure the
correct cleanup order.
📍 영향받는 시스템
OPP 초기화 순서 변경이 적용된 특정 리눅스 커널 버전
⚔️ 공격 벡터
커널의 참조 카운트 해제 로직을 유도하여 메모리 오류를 일으키는 로컬 공격
🛡️ 대응 방법
opp_table이 opp보다 먼저 초기화되도록 수정된 최신 리눅스 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.