🔍 CVE-2026-62986

4.3
CVSS Score
MEDIUM
2026-08-25
2026-09-09 21:07
✅ 완료

🇰🇷 한글 설명

OpenEXR의 PyOpenEXR Python 바인딩에서 레이어 접두사가 붙은 RGB 채널을 읽을 때 초기화되지 않은 힙 데이터를 반환하는 취약점이 발견되었습니다. 특정 조건에서 채널 오프셋 계산 오류로 인해 메모리의 잔류 데이터가 노출될 수 있으며, 이는 3.3.13 및 3.4.14 버전에서 수정되었습니다.

💡 쉬운 설명

특수하게 제작된 이미지 파일을 열 때, 컴퓨터 메모리에 남아있던 이전의 민감한 정보가 이미지 데이터와 함께 유출될 수 있는 문제입니다. 이미지의 색상이 잘못 나오는 것뿐만 아니라 보안 정보가 노출될 위험이 있습니다.

🇺🇸 원문 (English)

OpenEXR is the reference implementation and specification for the EXR image file format, widely used in the motion picture industry. In versions 3.3.0 through 3.3.12 and 3.4.0 through 3.4.13, the PyOpenEXR Python bindings return stale heap data when reading a crafted deep scanline EXR that uses layer-prefixed RGB channels. With the default channel coalescing (separate_channels=False), the wrapper groups channels such as left.R, left.G, and left.B into a single RGB sample array, but the lane-offset calculation in PyPart::setDeepSliceData() only recognizes the exact unprefixed names G, B, and A. As a result, prefixed channels like left.G and left.B are decoded into lane 0 while lanes 1 and 2 are left uninitialized and returned to Python. A Python application that reads untrusted deep EXR files through the default OpenEXR.File API and then logs, serializes, previews, or otherwise processes the resulting NumPy sample arrays may expose uninitialized same-process heap contents, in addition to receiving incorrect green and blue channel data. This issue is fixed in versions 3.3.13 and 3.4.14.

📍 영향받는 시스템

PyOpenEXR 3.3.0 ~ 3.3.12 및 3.4.0 ~ 3.4.13

⚔️ 공격 벡터

조작된 레이어 접두사가 포함된 Deep Scanline EXR 파일을 Python 애플리케이션으로 읽어 들임

🛡️ 대응 방법

PyOpenEXR 버전을 3.3.13 또는 3.4.14 이상으로 업데이트

🔧 검증 코드

출력된 버전이 3.3.13 또는 3.4.14보다 낮은지 확인하여 취약 여부를 판단합니다.

Shell / Script
pip show PyOpenEXR | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

Python