OpenImageIO is a toolset for reading, writing, and manipulating image files of any image file format relevant to VFX / animation. Prior to 3.0.20.0, 3.1.15.0, and 3.2.0.3-beta1, A crafted fits stream containing consecutive 2880-byte header blocks without the mandatory end keyword makes fitsinput::read_fits_header() call itself without a depth bound. repeated recursive parsing exhausts the application stack, resulting in denial of service. The affected implementation is identified by src/fits.imageio/fitsinput.cpp, FitsInput::read_fits_header(), END keyword, and 2880-byte FITS header blocks, which define the relevant source path, functions, state, and trigger. This issue is fixed in versions 3.0.20.0, 3.1.15.0, and 3.2.0.3-beta1.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-674"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59156.json"
}{
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "3.0.20.0"
},
{
"introduced": "3.1.0.0"
},
{
"fixed": "3.1.15.0"
},
{
"introduced": "3.2.0.0-dev"
},
{
"fixed": "3.2.0.3-beta1"
}
],
"source": [
"AFFECTED_FIELD",
"REFERENCES"
]
}