🇰🇷 한글 설명
libde265은 H.265 비디오 코덱의 오픈소스 구현체입니다. 1.0.20 이전 버전에서는 조작된 H.265 NAL 유닛 시퀀스로 인해 decoder_context::read_slice_NAL() 함수가 처리 완료된 픽처 객체에 활성 이미지 유닛 없이 슬라이스 헤더를 연결하여, 공격자가 제어하는 무제한 힙 메모리 증가가 발생합니다. 연결된 헤더는 픽처가 해제되기 전까지 메모리에 남아 있으며, 지속적인 스트리밍 중에는 해제되지 않을 수 있습니다. 버전 1.0.20에서 이 문제가 수정되었습니다.
💡 쉬운 설명
악성 비디오 스트림을 재생하면 디코더가 메모리를 계속 사용하여 프로그램이나 시스템 속도가 느려지거나 멈출 수 있습니다. 최신 버전으로 업데이트하면 이 문제가 해결됩니다.
🇺🇸 원문 (English)
libde265 is an open source implementation of the h.265 video codec. Prior to version 1.0.20, a crafted sequence of H.265 NAL units causes `decoder_context::read_slice_NAL()` (`libde265/decctx.cc:481`) to attach slice headers to a finished picture object
that has no active image unit, resulting in attacker-controlled unbounded heap growth. The retained headers are never freed until the picture is released, which may not happen during continuous streaming. Version 1.0.20 patches the issue.
📍 영향받는 시스템
libde265 1.0.20 이전 버전을 사용하는 H.265 디코딩 소프트웨어 및 시스템
⚔️ 공격 벡터
조작된 H.265 NAL 유닛 시퀀스를 포함한 비디오 스트림을 대상 디코더에 전달
🛡️ 대응 방법
libde265을 1.0.20 이상 버전으로 업데이트
🔧 검증 코드
출력된 버전이 1.0.20 미만이면 취약하므로 업데이트가 필요하고, 1.0.20 이상이면 패치가 적용된 상태입니다.
dpkg -l libde265-0 2>/dev/null | grep -E 'libde265'