🇰🇷 한글 설명
Linux 커널의 cpufreq zynq 드라이버에서 zynq_get_revision 함수가 of_find_compatible_node()로 얻은 노드 포인터의 참조 카운트를 해제하지 않아 refcount 누수가 발생합니다. 패치에서는 누락된 of_node_put() 호출을 추가하여 이 문제를 해결했습니다.
💡 쉬운 설명
컴퓨터 내부에서 사용한 장치 정보를 다 쓰고도 반납하지 않아 메모리 자원이 조금씩 새는 문제입니다. 이번 수정으로 사용이 끝난 자원을 정상적으로 반납하도록 고쳐졌습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
cpufreq: zynq: Fix refcount leak in zynq_get_revision
of_find_compatible_node() returns a node pointer with refcount
incremented, we should use of_node_put() on it when done.
Add missing of_node_put() to avoid refcount leak.
📍 영향받는 시스템
Xilinx Zynq 기반 장치에서 사용되는 cpufreq zynq 드라이버를 포함한 수정 이전 Linux 커널 버전
⚔️ 공격 벡터
원격 공격 경로는 확인되지 않았으며, 장기간 실행 시 자원 누수로 인한 서비스 안정성 저하 정도로 영향이 제한적입니다
🛡️ 대응 방법
배포판에서 제공하는 최신 Linux 커널 보안/안정화 업데이트를 적용하여 해당 패치가 포함된 버전으로 업그레이드합니다
🔧 검증 코드
출력된 커널 버전을 배포판의 수정 버전과 비교하고, CONFIG_ARM_ZYNQ_CPUFREQ=y 또는 =m이 보이면 해당 드라이버가 빌드되어 있어 패치 적용 여부 확인이 필요하며, 항목이 없으면 이 취약점의 영향을 받지 않습니다.
uname -r && (zcat /proc/config.gz 2>/dev/null | grep -E 'CONFIG_ARM_ZYNQ_CPUFREQ' || grep -E 'CONFIG_ARM_ZYNQ_CPUFREQ' /boot/config-$(uname -r) 2>/dev/null)