Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-59981— OpenEXR: Heap OOB read in SampleCountChannel row when using nonzero dataWindow

Quick assessment

Affected
AcademySoftwareFoundation openexr
Exploitation
Public or AI PoC available; prioritize validation
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

OpenEXR 是 EXR 图像文件格式的参考实现和规范,广泛应用于电影行业。在 3.2.10 及更早版本、3.3.0 至 3.3.12 版本以及 3.4.0 至 3.4.13 版本中,OpenEXRUtil 库的 API 在深度图像(deep image)的数据窗口原点(dataWindow origin)非零时,会返回一个越界指针。根据文档说明, 访问函数基于 0 索引,并通过一个从内部基址计算出的地址,该基址根据绝对像素坐标进行了偏移。因此,当 不为零时,这两种坐标模型会产生冲突。对于具有较大负垂直原点的数据

CVSS 7.1 · High EPSS 0.25% · P16

Possible ATT&CK Techniques 1 AI

T1203 · Exploitation for Client Execution

Affected Version Matrix 3

VendorProduct Version RangeStatus
AcademySoftwareFoundation openexr < 3.2.11 affected
>= 3.3.0, < 3.3.13 affected
>= 3.4.0, < 3.4.14 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-59981

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
OpenEXR: Heap OOB read in SampleCountChannel row when using nonzero dataWindow
Source: CVE Program / CVE List V5
Vulnerability Description
OpenEXR is the reference implementation and specification for the EXR image file format, widely used in the motion picture industry. In versions through 3.2.10, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, the OpenEXRUtil library returns an out-of-bounds pointer from the SampleCountChannel::row() API when a deep image has a non-zero dataWindow origin. The row() accessor is documented as 0-based and computes its address from an internal base that is offset for absolute pixel coordinates, so the two coordinate models conflict whenever dataWindow.min is non-zero. For a deep image whose data window has a large negative vertical origin, row(0) points far outside the allocated sample-count buffer. An application that opens an attacker-controlled deep EXR file and accesses sample counts through row() performs an out-of-bounds read, which can crash the process or, under a controlled heap layout, return adjacent heap memory as sample-count values. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
跨界内存读
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
AcademySoftwareFoundation openexr < 3.2.11 -

II. Public POCs for CVE-2026-59981

# POC Description Source Link Shenlong Link
AI-Generated POC Premium
Qwen3.6-35B-A3B · 10159 chars
Pro+ exclusive includes:
Vulnerability reproduction recording (real sandbox build + trigger, exclusive)
In-depth vulnerability mechanism
Trigger conditions & impact
Full executable POC code
Exploit chain & mitigation
POC zip download
100+ AI POC generations per month

III. Intelligence Information for CVE-2026-59981

登录查看更多情报信息。

Patches & Fixes for CVE-2026-59981 (3)

Vendor Advisories for CVE-2026-59981 (1)

Same Patch Batch · AcademySoftwareFoundation · 2026-08-25 · 20 CVEs total

CVE-2026-68515 7.1 HIGH OpenEXR: Heap out-of-bounds write in exrmultiview with subsampled channel union
CVE-2026-59184 7.1 HIGH OpenEXR: OpenEXRUtil FlatImageChannel row nonzero dataWindow heap OOB write
CVE-2026-59186 7.1 HIGH OpenEXR: Heap out-of-bounds write in TiledRgbaInputFile via integer overflow on 32-bit (IL
CVE-2026-59187 7.1 HIGH OpenEXR: exrmetrics deep pixelmode heap buffer overflow
CVE-2026-59189 7.1 HIGH OpenEXR: Out-of-bounds read in DeepImageChannel::row() for non-zero dataWindow origin
CVE-2026-59982 7.1 HIGH OpenEXR: DWAA InputFile AC buffer overflow on ILP32 platforms
CVE-2026-68513 7.1 HIGH OpenEXR: Heap buffer overflow in PyOpenEXR from literal/prefixed RGB channel name collisio
CVE-2026-55371 6.9 MEDIUM OpenEXR: OpenEXRCore exr_attr_set_bytes() accepts NULL type_hint with positive hint_length
CVE-2026-65979 6.7 MEDIUM OpenEXR: Out-of-bounds read in HTJ2K decoder from unvalidated chunk header length (PLEN)
CVE-2026-55373 6.2 MEDIUM OpenEXR: OpenEXRUtil SampleCountChannel endEdit() can loop forever on UINT_MAX sample coun
CVE-2026-55059 6.1 MEDIUM OpenEXR: OpenEXRUtil SampleCountChannel row setter heap has an out-of-bounds write vulnera
CVE-2026-68514 5.5 MEDIUM OpenEXR: Heap buffer overflow in PyOpenEXR from literal/prefixed RGB channel name collisio
CVE-2026-61555 5.5 MEDIUM OpenEXR: Empty multiView viewFromChannelName file crash
CVE-2026-59985 5.5 MEDIUM OpenEXR: Heap out-of-bounds read in OpenEXRCore RLE decoding on ILP32
CVE-2026-59983 5.5 MEDIUM OpenEXR: Out-of-bounds read in DeepTiledInputFile sample-count table decode on ILP32
CVE-2026-59984 5.5 MEDIUM OpenEXR: Scratch buffer overflow decoding B44-compressed InputFile on ILP32
CVE-2026-59183 5.5 MEDIUM OpenEXR: Signed Integer Overflow Leading to Out-of-Bounds Memory Access in Deep Tile Decod
CVE-2026-62986 4.3 MEDIUM OpenEXR: PyOpenEXR deep prefixed RGB stale lane disclosure
CVE-2026-54920 OpenEXR: Integer overflow and uninitialized pointer cause invalid delete in OpenEXRUtil im

IV. Related Vulnerabilities

V. Comments for CVE-2026-59981

No comments yet


Leave a comment