🇰🇷 한글 설명
Linux 커널의 of: reserved_mem에서 alloc_reserved_mem_array() 함수가 실패할 경우, 초기화 단계 이후에도 reserved_mem 포인터가 해제된 메모리를 참조하는 Use-After-Free(UAF) 취약점이 존재합니다. 이로 인해 of_reserved_mem_lookup() 호출 시 해제된 메모리에 접근하여 시스템 오류를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터가 메모리를 준비하는 과정에서 오류가 발생했을 때, 이미 사용이 끝난 메모리 주소를 계속 붙잡고 있어 발생하는 문제입니다. 이로 인해 시스템이 갑자기 멈추거나 예상치 못한 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
of: reserved_mem: avoid post-init UAF when alloc_reserved_mem_array() fails
The global pointer 'reserved_mem' continues to reference the
reserved_mem_array which lives in __initdata if
alloc_reserved_mem_array() fails. of_reserved_mem_lookup() is
exported for post-init use, that would dereference freed memory
and trigger a use-after-free.
So reset reserved_mem_count to 0 when alloc_reserved_mem_array()
fails.
📍 영향받는 시스템
Linux Kernel (of: reserved_mem 관련 모듈 사용 시스템)
⚔️ 공격 벡터
커널 초기화 단계의 메모리 할당 실패를 유도하여 post-init 단계에서 해제된 메모리 참조 유도
🛡️ 대응 방법
alloc_reserved_mem_array() 실패 시 reserved_mem_count를 0으로 초기화하는 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.