🇰🇷 한글 설명
Windows 환경의 Pillow 라이브러리 13.0.0 미만 버전에서 WMF 또는 EMF 이미지 처리 시 발생하는 취약점입니다. 32비트 크기 정보가 16비트로 절단되어 메모리 할당량이 실제 데이터보다 작게 설정됨으로써, 힙 버퍼를 초과하여 읽는 메모리 정보 유출 또는 프로세스 충돌이 발생할 수 있습니다.
💡 쉬운 설명
특수하게 조작된 이미지 파일을 열 때, 컴퓨터가 메모리를 실제 필요한 양보다 적게 준비하여 오류가 발생하는 문제입니다. 이로 인해 프로그램이 갑자기 꺼지거나 컴퓨터 내부의 민감한 정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
Pillow is a Python imaging library. Prior to 13.0.0 on Windows, src/PIL/WmfImagePlugin.py passes unchecked 32-bit WMF or EMF dimensions to the native drawwmf handler in src/display.c. The handler sizes a DIB allocation from 16-bit-truncated bcWidth and bcHeight fields but copies pixel data using the original full dimensions. A crafted wide, short metafile can pass the pixel-count decompression-bomb check and make the Windows-only renderer read beyond the heap buffer, potentially disclosing memory or crashing the process. This issue is fixed in version 13.0.0.
📍 영향받는 시스템
Pillow (Windows 환경, 13.0.0 미만 버전)
⚔️ 공격 벡터
조작된 WMF 또는 EMF 이미지 파일을 Pillow 라이브러리를 통해 처리하도록 유도
🛡️ 대응 방법
Pillow 라이브러리를 13.0.0 이상 버전으로 업데이트
🔧 검증 코드
출력된 Version 값이 13.0.0 미만이면 취약한 상태이며, 13.0.0 이상이면 안전합니다.
pip show Pillow | grep Version