🇰🇷 한글 설명
리눅스 커널의 host1x GPU 드라이버에서 host1x_device_parse_dt() 함수 오류 발생 시 장치 참조가 해제되지 않는 메모리 누수 취약점이 발견되었습니다. 기존에는 오류 발생 시 kfree()를 통해 객체를 직접 해제하여 장치 코어의 정상적인 수명 주기를 우회했습니다. 이를 해결하기 위해 오류 경로에서 put_device()를 사용하여 참조를 올바르게 해제하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 그래픽 장치를 관리하는 프로그램에서 오류가 발생했을 때, 사용하던 메모리를 제대로 돌려주지 않고 버리는 문제가 있었습니다. 이 문제가 반복되면 시스템의 메모리가 점점 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
gpu: host1x: Fix device reference leak in host1x_device_parse_dt() error path
After device_initialize(), the embedded struct device in struct
host1x_device should be released through the device core with
put_device().
In host1x_device_add(), if host1x_device_parse_dt() fails, the current
error path frees the object directly with kfree(device). That bypasses
the normal device lifetime handling and leaks the reference held on the
embedded struct device.
The issue was identified by a static analysis tool I developed and
confirmed by manual review.
Fix this by using put_device() in the host1x_device_parse_dt() failure
path.
📍 영향받는 시스템
Linux kernel (host1x GPU driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 오류 조건을 유도하여 시스템 메모리 자원을 점진적으로 고갈시키는 방식 (DoS)
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.