🇰🇷 한글 설명
Pillow 13.0.0 미만 버전에서 ImagingScaleAffine 작업 중 특정 메모리 할당 실패가 발생할 경우 이미지 메모리를 중복 해제하는 Double Free 취약점이 존재합니다. 공격자가 메모리 압박 상태에서 대규모 Image.transform() 작업을 유도할 경우 프로세스 충돌이나 메모리 오염을 일으킬 수 있습니다.
💡 쉬운 설명
이미지 크기를 조절하는 과정에서 컴퓨터 메모리를 관리하는 방식에 오류가 있어 프로그램이 갑자기 꺼지거나 데이터가 망가질 수 있는 문제입니다. 메모리가 부족한 상황에서 아주 큰 이미지를 처리하려고 할 때 발생할 수 있습니다.
🇺🇸 원문 (English)
Pillow is a Python imaging library. Prior to 13.0.0, Pillow can double free image memory when ImagingScaleAffine encounters a selective allocation failure. The affected fast path handles Transform.EXTENT or pure scale-and-translate Transform.AFFINE operations with the default NEAREST resampling. The output image allocation must succeed while the additional per-column lookup allocation fails, after which the error path deletes image storage that later cleanup releases again. An attacker who can drive such a large Image.transform() operation under memory pressure may trigger the failure. This can crash the process and may corrupt memory. This issue is fixed in version 13.0.0.
📍 영향받는 시스템
Pillow versions prior to 13.0.0
⚔️ 공격 벡터
메모리 압박 상태에서 대규모 Image.transform() 연산을 유도하여 메모리 할당 실패를 일으킴
🛡️ 대응 방법
Pillow 라이브러리를 13.0.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 Version이 13.0.0 미만이면 취약한 버전입니다.
pip show Pillow | grep Version