🇰🇷 한글 설명
Pillow 13.0.0 미만 버전에서 크기가 0인 이미지에 랭크 기반 필터를 적용할 경우 잘못된 메모리 참조가 발생합니다. ImagingExpand() 함수가 빈 입력 저장소에서 첫 번째 픽셀을 읽으려 시도하면서 네이티브 프로세스 충돌(Crash)을 유발할 수 있습니다.
💡 쉬운 설명
이미지 처리 라이브러리인 Pillow에서 크기가 없는 이미지를 처리할 때 프로그램이 갑자기 종료되는 오류가 있습니다. 공격자가 크기가 0인 특수 이미지를 전달하면 서비스가 중단될 수 있습니다.
🇺🇸 원문 (English)
Pillow is a Python imaging library. Prior to 13.0.0, Pillow's rank-based filters can dereference invalid image storage for a zero-size image. ImagingExpand() allocates a non-empty output and then faults while replicating edges by reading the first pixel from empty input storage; ImagingRankFilter is never reached. An attacker can supply or cause creation of a zero-size image to an application that applies a rank, median, minimum, or maximum filter. This causes a native process crash. This issue is fixed in version 13.0.0.
📍 영향받는 시스템
Pillow versions prior to 13.0.0
⚔️ 공격 벡터
크기가 0인 이미지를 처리하는 애플리케이션에 조작된 이미지를 입력하여 프로세스 충돌 유도
🛡️ 대응 방법
Pillow 라이브러리를 13.0.0 버전 이상으로 업데이트
🔧 검증 코드
출력된 Version 값이 13.0.0 미만이면 취약한 상태이며, 13.0.0 이상이면 안전합니다.
pip show Pillow | grep Version