🇰🇷 한글 설명
Linux 커널의 drm/mcde 드라이버에서 mcde_dsi_bind 함수 실행 중 for_each_available_child_of_node() 루프를 break로 빠져나올 때 마지막으로 참조한 device node의 refcount를 감소시키지 않아 참조 카운트 누수가 발생합니다. 이를 해결하기 위해 누락된 of_node_put() 호출을 추가했습니다.
💡 쉬운 설명
컴퓨터 내부에서 장치 정보를 가리키는 참조 표시가 사용 후 정리되지 않고 남는 버그입니다. 시간이 지나면 메모리가 조금씩 낭비되지만 일반적으로 직접적인 보안 침해로 이어지지는 않습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/mcde: Fix refcount leak in mcde_dsi_bind
Every iteration of for_each_available_child_of_node() decrements
the reference counter of the previous node. There is no decrement
when break out from the loop and results in refcount leak.
Add missing of_node_put() to fix this.
📍 영향받는 시스템
수정 이전의 Linux 커널 중 drm/mcde 드라이버(ARM 기반 MCDE 디스플레이 컨트롤러)를 포함한 커널 버전
⚔️ 공격 벡터
로컬 환경에서 장치 드라이버 초기화 과정이 반복 실행되어 메모리 누수가 누적되는 방식으로, 원격 공격 경로는 확인되지 않음
🛡️ 대응 방법
커널을 해당 패치가 포함된 최신 안정 버전으로 업데이트하거나 배포판 보안 업데이트를 적용
🔧 검증 코드
커널 버전을 확인하고 mcde 드라이버 모듈이 없으면 이 CVE의 영향을 받지 않으며, 있으면 해당 커널 버전이 패치 적용 버전인지 배포판 보안 공지와 대조하여 판단합니다.
uname -r && (grep -l mcde /lib/modules/$(uname -r)/kernel/drivers/gpu/drm/*/*.ko* 2>/dev/null || echo 'mcde 모듈 없음')