In ImfChromaticities.cpp routine RGBtoXYZ(), there are some division operations such as float Z = (1 - chroma.white.x - chroma.white.y) * Y / chroma.white.y; and chroma.green.y * (X + Z))) / d; but the divisor is not checked for a 0 value. A specially crafted file could trigger a divide-by-zero condition which could affect the availability of programs linked with OpenEXR.
The product divides a value by zero.
| Name | Vendor | Start Version | End Version | 
|---|---|---|---|
| Openexr | Openexr | 3.1.2 (including) | 3.1.2 (including) | 
| Openexr | Ubuntu | bionic | * | 
| Openexr | Ubuntu | esm-apps/focal | * | 
| Openexr | Ubuntu | esm-apps/jammy | * | 
| Openexr | Ubuntu | esm-infra/bionic | * | 
| Openexr | Ubuntu | esm-infra/xenial | * | 
| Openexr | Ubuntu | focal | * | 
| Openexr | Ubuntu | hirsute | * | 
| Openexr | Ubuntu | impish | * | 
| Openexr | Ubuntu | jammy | * | 
| Openexr | Ubuntu | kinetic | * | 
| Openexr | Ubuntu | trusty | * | 
| Openexr | Ubuntu | upstream | * | 
| Openexr | Ubuntu | xenial | * |