🇰🇷 한글 설명
Linux 커널의 tegra-video 드라이버에서 VIP 파싱 오류 발생 시 of_node_put()이 잘못 호출되는 취약점이 발견되었습니다. 이로 인해 잘못된 디바이스 트리로 인해 엔드포인트 파싱이 실패할 경우 VIP 장치의 OF 노드 참조 횟수(refcount)가 언더플로우될 수 있습니다.
💡 쉬운 설명
장치 설정 정보를 읽어오는 과정에서 오류가 발생했을 때, 시스템이 이미 해제한 메모리 자원을 한 번 더 해제하려고 시도하는 문제입니다. 이로 인해 시스템의 메모리 관리 체계에 혼란이 생겨 불안정해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
staging: media: tegra-video: fix of_node_put() on VIP parse errors
tegra_vip_channel_of_parse() initializes np from dev->of_node without
taking a reference, but its error paths drop one through the
err_node_put label. This underflows the refcount of the VIP device's
OF node when endpoint parsing fails on a malformed device tree.
The only reference the function takes on np is the success-path
of_node_get() stored in vip->chan.of_node, and that one is already
released by the tegra_vip_init() error path and by tegra_vip_exit().
Return errors directly instead of jumping to the bogus cleanup label.
📍 영향받는 시스템
Linux kernel (tegra-video staging driver 포함 버전)
⚔️ 공격 벡터
조작된 디바이스 트리(Device Tree)를 통해 드라이버의 파싱 오류를 유도하여 참조 횟수 언더플로우 발생
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 tegra_vip_channel_of_parse() 함수의 오류 처리 로직 수정 적용
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 수정된 최신 패치 버전인지 확인합니다.