{"id":"CVE-2026-65979","summary":"OpenEXR: Out-of-bounds read in HTJ2K decoder from unvalidated chunk header length (PLEN)","details":"OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. From version 3.4.0 through 3.4.12, the HTJ2K decoder parses a header-length field (PLEN) from a chunk's compressed data but never checks that this value fits within the available buffer before using it. When decoding, it advances the codestream pointer by the attacker-supplied header size and passes the resulting offset and remaining length to the OpenJPH memory-input path, so a crafted value pushes the pointer past the end of the buffer and causes an out-of-bounds read. Because this field comes straight from attacker-controlled EXR chunk data, the flaw is reachable during normal decoding of an untrusted file. This issue is fixed in version 3.4.13.","aliases":["GHSA-3j9c-j7c9-x293"],"modified":"2026-10-28T11:17:12.306982658Z","published":"2026-08-25T18:58:25.871Z","related":["openSUSE-SU-2026:11612-1"],"database_specific":{"cwe_ids":["CWE-125","CWE-20"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/65xxx/CVE-2026-65979.json","cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.4.13"},{"type":"ADVISORY","url":"https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-3j9c-j7c9-x293"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/65xxx/CVE-2026-65979.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-65979"},{"type":"FIX","url":"https://github.com/AcademySoftwareFoundation/openexr/commit/c7af2d233b7b2a4452c11f26cf47584cc2b35721"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/academysoftwarefoundation/openexr","events":[{"introduced":"20a65852895894434bea88613f6d29ac8e88bd6e"},{"fixed":"c1194b2cb23a1bdf76fe5e756b22e8436b9a98c9"},{"fixed":"c7af2d233b7b2a4452c11f26cf47584cc2b35721"}],"database_specific":{"extracted_events":[{"strategy":"StringRangeExpression","range":[{"introduced":"3.4.0"},{"fixed":"3.4.13"}],"source":"AFFECTED_FIELD"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"c7af2d233b7b2a4452c11f26cf47584cc2b35721"}]},{"source":"REFERENCES_TAG","original_tag":"v3.4.13","range":[{"fixed":"c1194b2cb23a1bdf76fe5e756b22e8436b9a98c9"}]}]}}],"versions":["v3.4.12","v3.4.12-rc2","v3.4.11-rc3","v3.4.11","v3.4.11-rc2","v3.4.11-rc","v3.4.10-rc","v3.4.10","v3.4.9","v3.4.9-rc","v3.4.8-rc","v3.4.8","v3.4.7","v3.4.7-rc","v3.4.6","v3.4.6-rc","v3.4.5","v3.4.5-rc","v3.4.4-rc2","v3.4.4","v3.4.4-rc","v3.4.3-rc3","v3.4.3","v3.4.3-rc2","v3.4.3-rc","v3.4.2-rc2","v3.4.2","v3.4.2-rc","v3.4.1-rc2","v3.4.1","v3.4.1-rc","v3.4.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-65979.json","vanir_signatures":[{"signature_version":"v1","source":"https://github.com/academysoftwarefoundation/openexr/commit/c7af2d233b7b2a4452c11f26cf47584cc2b35721","target":{"file":"src/test/OpenEXRCoreTest/compression.cpp"},"deprecated":false,"digest":{"line_hashes":["247536326718961265765284300410639814598","82859268275612516527520274401129669369","208434142863911220303666116783185237489"],"threshold":0.9},"id":"CVE-2026-65979-00294f6b","signature_type":"Line"},{"digest":{"line_hashes":["78204132915256545087066058487776765919","70448381437251940029117990472472015048","123724547819960636492829830112678353587","123578573840581116820165945608360079278"],"threshold":0.9},"id":"CVE-2026-65979-301a6769","signature_type":"Line","signature_version":"v1","source":"https://github.com/academysoftwarefoundation/openexr/commit/c7af2d233b7b2a4452c11f26cf47584cc2b35721","target":{"file":"src/test/OpenEXRCoreTest/main.cpp"},"deprecated":false},{"signature_version":"v1","source":"https://github.com/academysoftwarefoundation/openexr/commit/c7af2d233b7b2a4452c11f26cf47584cc2b35721","target":{"file":"src/lib/OpenEXRCore/internal_ht_common.cpp"},"deprecated":false,"digest":{"line_hashes":["272525328841792401713211419496008084901","145913777011079261618013476939872297233","286960262783579851483148589910732642093","133297305034470610821196157131703374598","255946372638218781901884570446792071203","103776103909656222993531721064952708140","239812673285897552985627439911231574313","284878567411000011140146320949632592739","310256211977721701882878585704866570881","123490175657275329243156881838707163788","127755228045386590613912865389146641706","20584662252306294244330040945670082541","238228875757010405105273428282414438933"],"threshold":0.9},"id":"CVE-2026-65979-47721418","signature_type":"Line"},{"source":"https://github.com/academysoftwarefoundation/openexr/commit/c7af2d233b7b2a4452c11f26cf47584cc2b35721","target":{"file":"src/test/OpenEXRCoreTest/main.cpp","function":"main"},"deprecated":false,"digest":{"length":5368,"function_hash":"261515954402623177440571208901759239249"},"id":"CVE-2026-65979-5357a7bc","signature_type":"Function","signature_version":"v1"},{"signature_version":"v1","source":"https://github.com/academysoftwarefoundation/openexr/commit/c7af2d233b7b2a4452c11f26cf47584cc2b35721","target":{"file":"src/test/OpenEXRCoreTest/compression.h"},"deprecated":false,"digest":{"line_hashes":["303183618423023036980858297872930374565","251728158048603233142841763984371784269","114266710689992942713475009853913807968","177667347671673246563624486435940768518"],"threshold":0.9},"id":"CVE-2026-65979-9daf3a59","signature_type":"Line"},{"digest":{"function_hash":"170701177446082383591428560649564409257","length":565},"id":"CVE-2026-65979-a876cbeb","signature_type":"Function","signature_version":"v1","source":"https://github.com/academysoftwarefoundation/openexr/commit/c7af2d233b7b2a4452c11f26cf47584cc2b35721","target":{"file":"src/lib/OpenEXRCore/internal_ht_common.cpp","function":"read_header"},"deprecated":false},{"digest":{"threshold":0.9,"line_hashes":["186585087024925632673595911439103837611","1325056223048106382910507891113496878","289028258662739557719953412004235322795","159705474827455610536570320801946242690","78861936984629643121602744718993330171","180642023970769675305816023278907574414","336635086503920853415598887906872295154","288934383173960260969484487589044097230","83448447493198317453109936937497706876"]},"id":"CVE-2026-65979-d5e09e68","signature_type":"Line","signature_version":"v1","source":"https://github.com/academysoftwarefoundation/openexr/commit/c7af2d233b7b2a4452c11f26cf47584cc2b35721","target":{"file":"src/lib/OpenEXRCore/internal_ht.cpp"},"deprecated":false},{"signature_type":"Function","signature_version":"v1","source":"https://github.com/academysoftwarefoundation/openexr/commit/c7af2d233b7b2a4452c11f26cf47584cc2b35721","target":{"function":"ht_undo_impl","file":"src/lib/OpenEXRCore/internal_ht.cpp"},"deprecated":false,"digest":{"length":4162,"function_hash":"139277447097267334854108950997250860266"},"id":"CVE-2026-65979-ec6ced0a"}],"vanir_signatures_modified":"2026-10-28T11:17:12Z"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"}]}