{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "3.3.0"
              },
              {
                "fixed": "3.3.13"
              },
              {
                "introduced": "3.4.0"
              },
              {
                "fixed": "3.4.14"
              }
            ],
            "source": "AFFECTED_FIELD"
          },
          "events": [
            {
              "introduced": "c7d3eac70ccde2c4ed484c6638b83ba872f71464"
            },
            {
              "fixed": "ca50a6bb1f64c4d53362e4b67aec33e67cb7d425"
            },
            {
              "introduced": "20a65852895894434bea88613f6d29ac8e88bd6e"
            },
            {
              "fixed": "777d231a179de1711d2a942810d9559216ab3f4c"
            }
          ],
          "repo": "https://github.com/academysoftwarefoundation/openexr",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-rw5h-3q4v-c3vc"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-122",
      "CWE-787"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68513.json"
  },
  "details": "OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. Versions 3.3.0 through 3.3.12 and 3.4.0 through 3.4.13 contain a heap buffer overflow in PyOpenEXR triggered by a channel-name key collision between literal and prefixed RGB channels. When separate_channels=false, PyOpenEXR maps each physical channel name through channelNameToRGBA() and coalesces the results into a shared RGB array. A crafted flat scanline EXR that contains both a literal channel such as left and prefixed channels such as left.R, left.G, and left.B causes these names to collide, so the wrapper reuses an undersized two-dimensional NumPy array for the coalesced RGB slices and writes out of bounds when OpenEXR.File(path) decodes the pixels. This issue is fixed in versions 3.3.13 and 3.4.14.",
  "id": "CVE-2026-68513",
  "modified": "2026-08-27T11:30:21.089387387Z",
  "published": "2026-08-25T19:06:11.692Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-rw5h-3q4v-c3vc"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68513.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-68513"
    },
    {
      "type": "FIX",
      "url": "https://github.com/AcademySoftwareFoundation/openexr/commit/c1f3ec0d91cfa5a8035ecd00920835ac76e01640"
    },
    {
      "type": "FIX",
      "url": "https://github.com/AcademySoftwareFoundation/openexr/commit/d134e3cd81a2e343f2919e86bf949f576b1ab16a"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "OpenEXR: Heap buffer overflow in PyOpenEXR from literal/prefixed RGB channel name collision"
}