Double-free in stbi__load_gif_main_outofmem in stb_image
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA. Impact type from CWE-415 and the CVSS impact.
Summary
stb_image is a single file MIT licensed library for processing images. A crafted image file can trigger `stbi__load_gif_main_outofmem` attempt to double-free the out variable. This happens in `stbi__load_gif_main` because when the `layers * stride` value is zero the behavior is implementation defined, but common that realloc frees the old memory and returns null pointer. Since it attempts to double-free the memory a few lines below the first “free”, the issue can be potentially exploited only in a multi-threaded environment. In the worst case this may lead to code execution.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2023-45664
References
Advisory 2
Other 3
- https://lists.fedoraproject.org/archives/list/[email protected]/message/UVQ7ONFH5GWLMXYEAJG32A3EUKUCEVCR/
- https://lists.fedoraproject.org/archives/list/[email protected]/message/QVABVF4GEM6BYD5L4L64RCRSXUHY6LGN/
- https://lists.fedoraproject.org/archives/list/[email protected]/message/NMXKOKPP4BKTNUTF5KSRDQAWOUILQZNO/
More nothings Stb Image.h vulnerabilities
- TI-2023-24466 Possible double-free or memory leak in stbi__load_gif_main in stb_image CVSS 3.1CRITICAL 9.8
- TI-2023-24463 Multi-byte read heap buffer overflow in stbi__vertical_flip in stb_image CVSS 3.1HIGH 8.1
- TI-2023-24467 Null pointer dereference because of an uninitialized variable in stb_image CVSS 3.1HIGH 7.5
- TI-2023-24462 Wild address read in stbi__gif_load_next in stb_image CVSS 3.1HIGH 7.1
- TI-2023-23171 Double Free vulnerability in Nothings Stb Image.h v.2.28 allows a remote attacker to… CVSS 3.1MEDIUM 6.5
- TI-2023-24464 Disclosure of uninitialized memory in stbi__tga_load in stb_image CVSS 3.1MEDIUM 5.5
Sources
- CVE-2023-45664 · CVE Program
- CVE-2023-45664 · NVD
- FIRST EPSS
- CVE-2023-45664 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences