← Back to CVE Explorer

CVE-2026-43996

Full vulnerability record from the local CVENow database.

Description

OpenImageIO is a toolset for reading, writing, and manipulating image files of any image file format relevant to VFX / animation. Prior to 3.0.18.0 and 3.1.13.0, the bounds check in TGAInput::decode_pixel computes k + palbytespp as unsigned 32-bit arithmetic. When k = 0xFFFFFFFC and palbytespp = 4, the addition wraps to 0, which compares less than palette_alloc_size and passes the check. The subsequent palette access uses the unwrapped k (0xFFFFFFFC) as the index, reading ~4 GB past the start of the palette buffer — SEGV. This vulnerability is fixed in 3.0.18.0 and 3.1.13.0.

Severity
MEDIUM
CVSS score
5.5 (v3.1)
Vulnerability status
Modified
Source identifier
Published
2026-05-14 20:17:07.300000
Last modified
2026-10-26 14:10:00.130000
View original CVE JSON
{
  "id": "CVE-2026-43996",
  "sourceIdentifier": "[email protected]",
  "published": "2026-05-14T20:17:07.300",
  "lastModified": "2026-10-26T14:10:00.130",
  "vulnStatus": "Modified",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "OpenImageIO is a toolset for reading, writing, and manipulating image files of any image file format relevant to VFX / animation. Prior to 3.0.18.0 and 3.1.13.0, the bounds check in TGAInput::decode_pixel computes k + palbytespp as unsigned 32-bit arithmetic. When k = 0xFFFFFFFC and palbytespp = 4, the addition wraps to 0, which compares less than palette_alloc_size and passes the check. The subsequent palette access uses the unwrapped k (0xFFFFFFFC) as the index, reading ~4 GB past the start of the palette buffer — SEGV. This vulnerability is fixed in 3.0.18.0 and 3.1.13.0."
    },
    {
      "lang": "es",
      "value": "OpenImageIO es un conjunto de herramientas para leer, escribir y manipular archivos de imagen de cualquier formato de archivo de imagen relevante para VFX / animación. Antes de 3.0.18.0 y 3.1.13.0, la comprobación de límites en TGAInput::decode_pixel calcula k + palbytespp como aritmética sin signo de 32 bits. Cuando k = 0xFFFFFFFC y palbytespp = 4, la suma se ajusta a 0, lo que se compara como menor que palette_alloc_size y pasa la comprobación. El acceso posterior a la paleta utiliza la k sin ajustar (0xFFFFFFFC) como índice, leyendo ~4 GB más allá del inicio del búfer de la paleta - SEGV. Esta vulnerabilidad se corrige en 3.0.18.0 y 3.1.13.0."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "AcademySoftwareFoundation",
          "product": "OpenImageIO",
          "versions": [
            {
              "version": "< 3.0.18.0",
              "status": "affected"
            },
            {
              "version": ">= 3.1.4.0-beta, < 3.1.13.0",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
          "baseScore": 5.5,
          "baseSeverity": "MEDIUM",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "REQUIRED",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 3.6
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-05-16T00:52:59.068131Z",
          "id": "CVE-2026-43996",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-125"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:openimageio:openimageio:*:*:*:*:*:*:*:*",
              "versionEndExcluding": "3.0.18.0",
              "matchCriteriaId": "90B206C1-E7DB-4175-8077-C76D5C8533AF"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:openimageio:openimageio:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "3.1.0.0",
              "versionEndExcluding": "3.1.13.0",
              "matchCriteriaId": "E1F5BCA2-D6C4-4F7B-8D2A-EBD19A022467"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:openimageio:openimageio:3.2.0.0:dev:*:*:*:*:*:*",
              "matchCriteriaId": "F43FE0AC-4CFC-485D-8370-37336EB2CEA0"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:openimageio:openimageio:3.2.0.2:dev:*:*:*:*:*:*",
              "matchCriteriaId": "450296D8-74F5-4847-8433-FE3DFB16C58E"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-mq8j-73c4-cr55",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    },
    {
      "url": "https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-mq8j-73c4-cr55",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    }
  ]
}