CVE-2023-45664

Double-free in stbi__load_gif_main_outofmem in stb_image

Published Oct 20, 2023 CVSS 3.1 · 7.3 High EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2023-49955 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.
History
Type Values Removed Values Added
First Time appeared Nothings stb Image
CPEs cpe:2.3:a:nothings:stb_image:*:*:*:*:*:*:*:*
Vendors & Products Nothings stb Image
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Feb 13, 2025, 5:14 PM
Reserved
Oct 10, 2023, 2:36 PM
Status
Modified
Published
Oct 21, 2023, 12:15 AM
Modified
Jun 17, 2026, 6:29 AM