🇰🇷 한글 설명
Pillow 라이브러리의 MSP RLE 디코더에서 작은 파일이 무제한의 메모리 버퍼로 확장되는 취약점이 발견되었습니다. 공격자가 조작된 MSP 이미지를 제공할 경우, 선언된 이미지 크기와 관계없이 메모리를 고갈시켜 서비스 거부(DoS)를 유발할 수 있습니다.
💡 쉬운 설명
특수하게 만들어진 이미지 파일을 열려고 하면 컴퓨터의 메모리를 순식간에 모두 써버려 프로그램이 멈추게 만드는 문제입니다. 마치 작은 압축 파일이 풀리면서 컴퓨터 용량을 가득 채우는 '압축 폭탄'과 같은 원리입니다.
🇺🇸 원문 (English)
Pillow is a Python imaging library. From 4.1.0 until 13.0.0, Pillow's MSP RLE decoder can expand a small file into an unbounded in-memory buffer. The decoder writes run-length output to BytesIO without limiting expansion to the declared image size. An attacker can supply a crafted MSP image to an application that loads its pixels. This can exhaust memory and deny service even when the declared pixel count passes the decompression-bomb check. This issue is fixed in version 13.0.0.
📍 영향받는 시스템
Pillow 4.1.0 버전부터 13.0.0 미만 버전
⚔️ 공격 벡터
조작된 MSP 이미지 파일을 애플리케이션에 업로드하거나 로드하도록 유도
🛡️ 대응 방법
Pillow 라이브러리를 13.0.0 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전 번호가 13.0.0 미만인지 확인하여 취약 여부를 판단합니다.
pip show Pillow | grep Version