🇰🇷 한글 설명
리눅스 커널의 hwrng 코어에서 등록 오류 발생 시 rng_list를 제대로 정리하지 않는 취약점이 발견되었습니다. 이로 인해 등록에 실패한 장치가 목록에 남아있게 되어, 이후 메모리 해제 시 Use-After-Free(UAF) 오류를 유발할 수 있습니다.
💡 쉬운 설명
하드웨어 난수 생성기를 등록하다가 오류가 나면, 목록에서 이름을 지워야 하는데 지우지 않고 남겨두는 버그입니다. 이 때문에 컴퓨터가 이미 사라진 장치를 계속 사용하려다 시스템이 멈추거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
hwrng: core - fix rng list on registration error
hwrng_register(rng) does the following:
1. Checks if rng has name and read methods set
2. Checks if the name already exists
3. Adds rng to global rng_list
4. May try to set rng to current_rng
If step 4 fails, it returns an error. However, it does not remove the
rng from rng_list, causing a dangling reference which can result in
use-after-free if the caller frees rng, since registration failed.
Add a list_del_init() cleanup step.
📍 영향받는 시스템
Linux Kernel (hwrng 모듈을 사용하는 모든 버전)
⚔️ 공격 벡터
하드웨어 난수 생성기 등록 과정에서 의도적으로 오류를 유발하여 메모리 참조 오류를 일으킴
🛡️ 대응 방법
hwrng_register 함수 내에 list_del_init()를 추가하여 오류 발생 시 목록을 정리하는 커널 패치 적용
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전인지 확인합니다.