🇰🇷 한글 설명
Linux 커널의 radeon 드라이버에서 메모리 관리 방식 변경으로 인해 발생하는 취약점입니다. 드라이버 초기화 실패 시 이미 해제된 자원을 다시 해제하려고 시도하여 참조 횟수 언더플로우 및 Use-After-Free 오류가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품을 작동시키는 프로그램이 오류가 났을 때, 이미 정리된 메모리를 또 정리하려고 시도하면서 시스템에 혼란을 주는 문제입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/radeon: Remove calls to drm_put_dev()
Since the allocation of the drivers main structure was changed to
devm_drm_dev_alloc() drm_put_dev()'ing to trigger it to be free'd
should be done by devres.
However, drm_put_dev() is still in the probe error and device remove
paths. When the driver fails to probe warnings like the following are
shown because devres is trying to drm_put_dev() after the driver
already did it.
[ 5.642230] radeon 0000:01:05.0: probe with driver radeon failed with error -22
[ 5.649605] ------------[ cut here ]------------
[ 5.649607] refcount_t: underflow; use-after-free.
[ 5.649620] WARNING: CPU: 0 PID: 357 at lib/refcount.c:28 refcount_warn_saturate+0xbe/0x110
(cherry picked from commit 3eb8c0b4c091da0a623ade0d3ee7aa4a93df1ea4)
📍 영향받는 시스템
Linux kernel (radeon driver 사용 시스템)
⚔️ 공격 벡터
로컬 권한을 가진 공격자가 드라이버 프로브(probe) 실패를 유도하여 메모리 오류를 일으킴
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.