CVE-2023-43281
Medium · 6.5CVSS
6.5
EPSS
1.0%
Published
Oct 25, 2023
CISA due date
—
Cloudanix analysis
A flaw in a popular image-handling component can make programs crash when they try to open certain specially made picture files.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Double-free memory corruption in stbi_load_gif_main when processing a crafted GIF file, resulting in application crash or denial of service.
Why it matters to the business
Applications or services that render user-supplied images may become unavailable when processing malicious files; the issue is old with stable low exploit probability and no known ransomware use.
How an attack unfolds
An attacker crafts a malicious GIF file that triggers the double-free condition inside stbi_load_gif_main; the file is delivered to a vulnerable application that calls the library function, causing the process to crash. Public exploit code exists but the vulnerability has not appeared in CISA KEV or ransomware campaigns.
How to fix it
Replace the vulnerable stb_image.h (version 2.28) with a patched release from the upstream repository; recompile all dependent applications and verify the function no longer exhibits the double-free behavior on the crafted test file.
How to confirm the fix worked
Confirm the stb_image.h header version is newer than 2.28, re-run the original proof-of-concept file, and ensure the process no longer crashes or triggers sanitizer reports for double-free.
Typical attack path
- Identify an application that uses stb_image.h to load GIF images
- Craft a specially malformed GIF file that exercises the double-free path in stbi_load_gif_main
- Deliver the file via any input channel the application accepts (upload, link, email attachment)
- Trigger image loading to induce the memory corruption and resulting denial of service
How to detect it
Review application crash logs and memory-sanitizer reports for double-free signatures around GIF decoding; correlate with file-upload or image-processing events in the period after the file was received.
What your security team should do
- Inventory all products and build pipelines that embed stb_image.h and prioritize updates
- Add the library to dependency-scanning tools so future releases are flagged automatically
- Block or sanitize untrusted image uploads until the library is updated
The record
Double Free vulnerability in Nothings Stb Image.h v.2.28 allows a remote attacker to cause a denial of service via a crafted file to the stbi_load_gif_main function.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libstb | 0 | No fix |
| Debian:12 | libstb | 0 | No fix |
| Debian:13 | libstb | 0 | No fix |
| Ubuntu:16.04:LTS | emscripten | 0 | No fix |
| Ubuntu:16.04:LTS | libsfml | 0 | No fix |
| Ubuntu:16.04:LTS | love | 0 | No fix |
| Ubuntu:16.04:LTS | mame | 0 | No fix |
| Ubuntu:16.04:LTS | visp | 0 | No fix |
| Ubuntu:18.04:LTS | bibledit | 0 | No fix |
| Ubuntu:18.04:LTS | emscripten | 0 | No fix |
| Ubuntu:18.04:LTS | goxel | 0 | No fix |
| Ubuntu:18.04:LTS | libsfml | 0 | No fix |
| Ubuntu:18.04:LTS | love | 0 | No fix |
| Ubuntu:18.04:LTS | mame | 0 | No fix |
| Ubuntu:18.04:LTS | visp | 0 | No fix |
| Ubuntu:20.04:LTS | bibledit | 0 | No fix |
| Ubuntu:20.04:LTS | bibledit-cloud | 0 | No fix |
| Ubuntu:20.04:LTS | goxel | 0 | No fix |
| Ubuntu:20.04:LTS | libsfml | 0 | No fix |
| Ubuntu:20.04:LTS | libstb | 0 | No fix |
| Ubuntu:20.04:LTS | love | 0 | No fix |
| Ubuntu:20.04:LTS | mame | 0 | No fix |
| Ubuntu:20.04:LTS | utox | 0 | No fix |
| Ubuntu:22.04:LTS | arm-compute-library | 0 | No fix |
| Ubuntu:22.04:LTS | armnn | 0 | No fix |
| Ubuntu:22.04:LTS | bibledit | 0 | No fix |
| Ubuntu:22.04:LTS | bibledit-cloud | 0 | No fix |
| Ubuntu:22.04:LTS | emscripten | 0 | No fix |
| Ubuntu:22.04:LTS | goxel | 0 | No fix |
| Ubuntu:22.04:LTS | libsfml | 0 | No fix |
| Ubuntu:22.04:LTS | libstb | 0 | No fix |
| Ubuntu:22.04:LTS | love | 0 | No fix |
| Ubuntu:22.04:LTS | mame | 0 | No fix |
| Ubuntu:22.04:LTS | timg | 0 | No fix |
| Ubuntu:22.04:LTS | utox | 0 | No fix |
| Ubuntu:22.04:LTS | visp | 0 | No fix |
| Ubuntu:24.04:LTS | arm-compute-library | 0 | No fix |
| Ubuntu:24.04:LTS | armnn | 0 | No fix |
| Ubuntu:24.04:LTS | bibledit | 0 | No fix |
| Ubuntu:24.04:LTS | bibledit-cloud | 0 | No fix |
| Ubuntu:24.04:LTS | emscripten | 0 | No fix |
| Ubuntu:24.04:LTS | goxel | 0 | No fix |
| Ubuntu:24.04:LTS | libsfml | 0 | No fix |
| Ubuntu:24.04:LTS | libstb | 0 | No fix |
| Ubuntu:24.04:LTS | love | 0 | No fix |
| Ubuntu:24.04:LTS | mame | 0 | No fix |
| Ubuntu:24.04:LTS | timg | 0 | No fix |
| Ubuntu:24.04:LTS | tiny-dnn | 0 | No fix |
| Ubuntu:24.04:LTS | utox | 0 | No fix |
| Ubuntu:24.04:LTS | visp | 0 | No fix |
| Ubuntu:24.10 | arm-compute-library | 0 | No fix |
| Ubuntu:24.10 | armnn | 0 | No fix |
| Ubuntu:24.10 | bibledit | 0 | No fix |
| Ubuntu:24.10 | bibledit-cloud | 0 | No fix |
| Ubuntu:24.10 | emscripten | 0 | No fix |
| Ubuntu:24.10 | goxel | 0 | No fix |
| Ubuntu:24.10 | libsfml | 0 | No fix |
| Ubuntu:24.10 | libstb | 0 | No fix |
| Ubuntu:24.10 | love | 0 | No fix |
| Ubuntu:24.10 | mame | 0 | No fix |
| Ubuntu:24.10 | timg | 0 | No fix |
| Ubuntu:24.10 | tiny-dnn | 0 | No fix |
| Ubuntu:24.10 | utox | 0 | No fix |
| Ubuntu:24.10 | visp | 0 | No fix |
| Ubuntu:25.04 | arm-compute-library | 0 | No fix |
| Ubuntu:25.04 | bibledit | 0 | No fix |
| Ubuntu:25.04 | bibledit-cloud | 0 | No fix |
| Ubuntu:25.04 | emscripten | 0 | No fix |
| Ubuntu:25.04 | goxel | 0 | No fix |
| Ubuntu:25.04 | libsfml | 0 | No fix |
| Ubuntu:25.04 | libstb | 0 | No fix |
| Ubuntu:25.04 | love | 0 | No fix |
| Ubuntu:25.04 | mame | 0 | No fix |
| Ubuntu:25.04 | timg | 0 | No fix |
| Ubuntu:25.04 | tiny-dnn | 0 | No fix |
| Ubuntu:25.04 | utox | 0 | No fix |
| Ubuntu:25.04 | visp | 0 | No fix |
| Ubuntu:25.10 | arm-compute-library | 0 | No fix |
| Ubuntu:25.10 | armnn | 0 | No fix |
| Ubuntu:25.10 | bibledit | 0 | No fix |
| Ubuntu:25.10 | bibledit-cloud | 0 | No fix |
| Ubuntu:25.10 | emscripten | 0 | No fix |
| Ubuntu:25.10 | goxel | 0 | No fix |
| Ubuntu:25.10 | libsfml | 0 | No fix |
| Ubuntu:25.10 | libstb | 0 | No fix |
| Ubuntu:25.10 | love | 0 | No fix |
| Ubuntu:25.10 | mame | 0 | No fix |
| Ubuntu:25.10 | timg | 0 | No fix |
| Ubuntu:25.10 | tiny-dnn | 0 | No fix |
| Ubuntu:25.10 | utox | 0 | No fix |
| Ubuntu:25.10 | visp | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | emscripten | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | libsfml | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | love | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | mame | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | visp | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | bibledit | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | emscripten | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | goxel | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | libsfml | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | love | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | mame | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | visp | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | bibledit | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | bibledit-cloud | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | goxel | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | libsfml | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | libstb | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | love | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mame | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | utox | 0 | No fix |
Related vulnerabilities
- CVE-2023-47212 A heap-based buffer overflow vulnerability exists in the comment functionality of stb… Also affects libstb
- CVE-2023-45664 stb_image is a single file MIT licensed library for processing images. Also affects libstb
- CVE-2023-45676 stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. Also affects libstb
- CVE-2023-45682 stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. Also affects libstb
- CVE-2023-45679 stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. Also affects libstb
- CVE-2023-45675 stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. Also affects libstb
- CVE-2023-45666 stb_image is a single file MIT licensed library for processing images. Also affects libstb
- CVE-2023-45667 stb_image is a single file MIT licensed library for processing images. Also affects libstb