🇰🇷 한글 설명
Pillow 라이브러리 13.0.0 미만 버전에서 MPO 및 DCX 이미지 처리 시 압축 폭탄 검사를 우회하는 취약점이 발견되었습니다. 공격자가 조작된 다중 프레임 이미지를 사용하여 첫 프레임은 통과시키고 이후 프레임에서 과도한 메모리를 할당하게 함으로써 서비스 거부(DoS)를 유발할 수 있습니다.
💡 쉬운 설명
이미지 파일 안에 숨겨진 아주 큰 데이터를 이용해 컴퓨터의 메모리를 순식간에 가득 채워 시스템을 멈추게 만드는 공격입니다. 작은 이미지인 척 속여서 들어온 뒤, 실제로는 엄청난 양의 데이터를 처리하게 만들어 컴퓨터를 마비시킵니다.
🇺🇸 원문 (English)
Pillow is a Python imaging library. Prior to 13.0.0, MpoImageFile.seek() and DcxImageFile.seek() reparse later MPO or DCX frames and replace self._size without rerunning Image._decompression_bomb_check(). A crafted multi-frame image can use a tiny first frame to pass Image.open() and then declare an over-limit later frame. Normal frame iteration through seek(), load(), or ImageSequence.Iterator can decode that frame and commit hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.
📍 영향받는 시스템
Pillow library versions prior to 13.0.0
⚔️ 공격 벡터
조작된 MPO 또는 DCX 형식의 다중 프레임 이미지 파일을 제공하여 메모리 고갈 유도
🛡️ 대응 방법
Pillow 라이브러리를 13.0.0 버전 이상으로 업데이트
🔧 검증 코드
출력된 Version 값이 13.0.0 미만이면 취약한 버전이 설치된 상태입니다.
pip show Pillow | grep Version