🇰🇷 한글 설명
리눅스 커널의 thermal core에서 써멀 존 거버너 정리 과정에 결함이 발견되었습니다. 등록 실패 시 거버너가 적절히 제거되지 않아 메모리 누수가 발생할 수 있으며, 언등록 시 락(lock) 없이 거버너를 설정하여 레이스 컨디션에 의한 Use-After-Free 취약점이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 열을 관리하는 기능에서 오류가 발생하면 메모리가 낭비되거나 시스템이 갑자기 멈출 수 있는 결함입니다. 특정 상황에서 시스템이 열 관리 정보를 잘못 처리하여 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
thermal: core: Fix thermal zone governor cleanup issues
If thermal_zone_device_register_with_trips() fails after adding
a thermal governor to the thermal zone being registered, the
governor is not removed from it as appropriate which may lead to
a memory leak.
In turn, thermal_zone_device_unregister() calls thermal_set_governor()
without acquiring the thermal zone lock beforehand which may race with
a governor update via sysfs and may lead to a use-after-free in that
case.
Address these issues by adding two thermal_set_governor() calls, one to
thermal_release() to remove the governor from the given thermal zone,
and one to the thermal zone registration error path to cover failures
preceding the thermal zone device registration.
📍 영향받는 시스템
Linux Kernel (thermal core 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 공격자가 sysfs를 통해 거버너 업데이트를 시도하여 레이스 컨디션을 유발함으로써 Use-After-Free 공격 수행 가능
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 thermal_set_governor() 호출 로직 수정 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인