🇰🇷 한글 설명
Pillow 라이브러리의 FlashPix JPEG-tile 디코더에서 할당된 버퍼 범위를 초과하여 데이터를 쓰는 취약점이 발견되었습니다. 공격자가 조작된 OLE2 FlashPix 파일을 제공할 경우 힙 메모리가 손상되어 임의 코드 실행이 가능할 수 있습니다.
💡 쉬운 설명
이미지 파일을 처리하는 프로그램이 특수하게 만들어진 가짜 이미지 파일을 읽을 때 메모리 공간을 넘어서는 데이터를 쓰게 되는 문제입니다. 이를 통해 해커가 사용자의 컴퓨터에서 몰래 명령을 실행할 위험이 있습니다.
🇺🇸 원문 (English)
Pillow is a Python imaging library. Prior to 13.0.0, Pillow's FlashPix JPEG-tile decoder can write decoded scanlines beyond the allocated tile buffer. FlashPix (FPX) JPEG decoding selects raw mode LA with two bytes per pixel, while an unrecognized JPEG mode can be decoded as JCS_UNKNOWN with four components, causing ImagingJpegDecode to write four-component scanlines into the two-byte tile buffer. An attacker can supply a crafted OLE2 FlashPix file to an application with the optional olefile dependency installed that opens or thumbnails untrusted input. This can corrupt heap memory and may allow arbitrary code execution. This issue is fixed in version 13.0.0.
📍 영향받는 시스템
Pillow version < 13.0.0 (olefile 의존성이 설치된 환경)
⚔️ 공격 벡터
조작된 OLE2 FlashPix 파일을 애플리케이션에 업로드하거나 썸네일 생성을 유도함
🛡️ 대응 방법
Pillow 라이브러리를 13.0.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 13.0.0 미만이면 취약한 상태입니다.
pip show Pillow | grep Version