🇰🇷 한글 설명
Pillow 13.0.0 미만 버전의 JPEG 디코더에서 발생하는 취약점으로, 요청된 축소 스케일에 맞지 않는 전체 너비의 스캔라인을 버퍼에 기록할 수 있습니다. libjpeg-turbo 3.x와 연결된 경우 SOF3 JPEG 형식이 축소 요청을 무시할 수 있어 힙 메모리 손상, 프로세스 충돌 또는 코드 실행을 초래할 수 있습니다.
💡 쉬운 설명
이미지 크기를 줄여서 보여주는 기능을 사용할 때, 특수하게 조작된 이미지를 넣으면 프로그램의 메모리가 망가질 수 있는 문제입니다. 이로 인해 프로그램이 갑자기 꺼지거나 해커가 컴퓨터를 제어할 위험이 있습니다.
🇺🇸 원문 (English)
Pillow is a Python imaging library. Prior to 13.0.0, Pillow's JPEG decoder can write a full-width scanline into a buffer sized for a requested draft scale. ImagingJpegDecode does not verify libjpeg's actual output width and component count after scaling is requested, and an 8-bit lossless SOF3 JPEG decoded by a build linked to libjpeg-turbo 3.x can ignore the requested downscaling geometry. An attacker can supply such a JPEG to an application that uses draft() or thumbnail() to request downscaling. This can corrupt heap memory, crash the process, or potentially allow code execution. Older libjpeg-turbo 2.x and IJG builds reject the SOF3 input. This issue is fixed in version 13.0.0.
📍 영향받는 시스템
Pillow < 13.0.0 (libjpeg-turbo 3.x와 연결된 환경)
⚔️ 공격 벡터
조작된 SOF3 JPEG 파일을 사용하여 draft() 또는 thumbnail() 함수를 호출하는 애플리케이션에 전달
🛡️ 대응 방법
Pillow 버전을 13.0.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 13.0.0 미만이면 취약한 상태입니다.
pip show Pillow | grep Version