🇰🇷 한글 설명
XZ Utils 5.3.3alpha부터 5.8.0 사이의 버전에서 멀티스레드 .xz 디코더 liblzma에 버그가 존재하여 잘못된 입력으로 힙 사용 후 해방(heap use after free)과 널 포인터 기반 주소에 대한 쓰기가 발생할 수 있습니다. lzma_stream_decoder_mt 함수를 사용하는 모든 애플리케이션과 라이브러리가 영향을 받으며, 5.8.1에서 수정되었습니다.
💡 쉬운 설명
XZ Utils의 압축 해제 기능에 버그가 있어 특정 파일 처리 시 프로그램 충돌이나 메모리 손상이 발생할 수 있습니다. XZ Utils를 5.8.1 이상으로 업그레이드하여 해결할 수 있습니다.
🇺🇸 원문 (English)
XZ Utils provide a general-purpose data-compression library plus command-line tools. In XZ Utils 5.3.3alpha to 5.8.0, the multithreaded .xz decoder in liblzma has a bug where invalid input can at least result in a crash. The effects include heap use after free and writing to an address based on the null pointer plus an offset. Applications and libraries that use the lzma_stream_decoder_mt function are affected. The bug has been fixed in XZ Utils 5.8.1, and the fix has been committed to the v5.4, v5.6, v5.8, and master branches in the xz Git repository. No new release packages will be made from the old stable branches, but a standalone patch is available that applies to all affected releases.
📍 영향받는 시스템
XZ Utils 5.3.3alpha ~ 5.8.0 버전 및 liblzma 라이브러리를 사용하는 애플리케이션
⚔️ 공격 벡터
악의적으로 제작된 .xz 파일을 멀티스레드 디코더로 처리하도록 유도하여 메모리 접근 위반 및 프로그램 크래시 유발
🛡️ 대응 방법
XZ Utils를 5.8.1 이상으로 업그레이드 또는 v5.4, v5.6, v5.8 브랜치의 공식 패치 적용
🔧 검증 코드
출력된 버전이 5.8.1 이상이면 안전, 5.8.0 이하면 취약함 - 특히 5.3.3alpha ~ 5.8.0 범위면 즉시 업그레이드 필요
xz --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'