🇰🇷 한글 설명
Linux 커널의 drm/msm/adreno 드라이버 내 a6xx_gpu_init() 함수에서 참조 누수(Reference Leak) 취약점이 발견되었습니다. 특정 오류 발생 시 노드 참조를 해제하는 과정이 생략되어 메모리 자원이 제대로 반환되지 않는 문제입니다. 이를 해결하기 위해 __free(device_node) 핸들러를 사용하여 자원 해제를 자동화하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터가 작업을 하다가 오류가 났을 때, 사용했던 메모리 자원을 제대로 돌려주지 않고 잊어버리는 버그가 있었습니다. 이 버그가 반복되면 시스템의 메모리가 점점 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/msm/adreno: Fix a reference leak in a6xx_gpu_init()
In a6xx_gpu_init(), node is obtained via of_parse_phandle().
While there was a manual of_node_put() at the end of the
common path, several early error returns would bypass this call,
resulting in a reference leak.
Fix this by using the __free(device_node) cleanup handler to
release the reference when the variable goes out of scope.
Patchwork: https://patchwork.freedesktop.org/patch/700661/
📍 영향받는 시스템
Linux kernel (drm/msm/adreno 드라이버를 사용하는 Adreno GPU 탑재 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 오류 상황을 유도하여 시스템 메모리 자원을 점진적으로 고갈시키는 방식 (DoS)
🛡️ 대응 방법
해당 패치가 적용된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.