CVE-2026-39886: OpenEXR has HTJ2K Signed Integer Overflow in ht_undo_impl()

Published Apr 21, 2026
·
Updated

OpenEXR provides the specification and reference implementation of the EXR file format, an image storage format for the motion picture industry. Versions 3.4.0 through 3.4.9 have a signed integer overflow vulnerability in OpenEXR's HTJ2K (High-Throughput JPEG 2000) decompression path. The htundoimpl() function in src/lib/OpenEXRCore/internalht.cpp accumulates a bytes-per-line value (bpl) using a 32-bit signed integer with no overflow guard. A crafted EXR file with 16,385 FLOAT channels at the HTJ2K maximum width of 32,767 causes bpl to overflow INTMAX, producing undefined behavior confirmed by UBSan. On an allocator-permissive host where the required ~64 GB allocation succeeds, the wrapped negative bpl value would subsequently be used as a per-scanline pointer advance, which would produce a heap out-of-bounds write. On a memory-constrained host, the allocation fails before htundoimpl() is entered. This is the second distinct integer overflow in htundoimpl(). CVE-2026-34545 addressed a different overflow in the same function — the int16t p pixel-loop counter at line ~302 that overflows when iterating over channels whose width exceeds 32,767. The CVE-2026-34545 fix did not touch the int bpl accumulator at line 211, which is the subject of this advisory. The bpl accumulator was also not addressed by any of the 8 advisories in the 2026-04-05 v3.4.9 release batch. This finding is structurally identical to CVE-2026-34588 (PIZ wcountnx overflow in internalpiz.c) and should be remediated with the same pattern. The CVE-2026-34588 fix did not touch internalht.cpp. Version 3.4.10 contains a remediation that addresses the vulnerability in internalht.cpp.

Affected Software

2 affected components
OpenEXR OpenEXR>=3.4.0<=3.4.9
OpenEXR OpenEXR>=3.4.0<3.4.10

Event History

Apr 21, 2026
CVE Published
via MITRE·01:27 AM
Data Sourced
via MITRE·01:27 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·02:16 AM
DescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-39886?

CVE-2026-39886 is classified as a high-severity vulnerability due to the potential for signed integer overflow leading to application crashes or exploitation.

2

How do I fix CVE-2026-39886?

To fix CVE-2026-39886, upgrade OpenEXR to version 3.4.10 or later to eliminate the signed integer overflow vulnerability.

3

Which versions of OpenEXR are affected by CVE-2026-39886?

Versions 3.4.0 through 3.4.9 of OpenEXR are affected by CVE-2026-39886.

4

What is the impact of CVE-2026-39886 on OpenEXR?

CVE-2026-39886 can lead to unexpected behavior or crashes in applications using affected versions of OpenEXR.

5

Is there a workaround for CVE-2026-39886 while waiting for a patch?

There are no known workarounds for CVE-2026-39886; upgrading to the patched version is the recommended solution.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203