CVE-2023-47997
Medium · 6.5CVSS
6.5
EPSS
0.9%
Published
Jan 10, 2024
CISA due date
—
Cloudanix analysis
A problem in an image-handling library can make programs freeze when they receive certain bad image files, interrupting normal operations until the program is restarted.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw triggers an infinite loop inside BitmapAccess.cpp::FreeImage_AllocateBitmap, consuming CPU and blocking further execution without crashing the process.
Why it matters to the business
Applications that process images with FreeImage can become unresponsive, causing service outages, delayed workflows, and increased operational load until the affected process is restarted.
How an attack unfolds
An attacker supplies a specially crafted bitmap or image file that reaches FreeImage_AllocateBitmap; the function enters an infinite loop, exhausting CPU resources and denying service to other users or requests.
How to fix it
Upgrade to a patched FreeImage release when published by the project maintainers. In the interim, enforce strict input validation on image dimensions and file sizes, apply OS-level resource limits to image-processing processes, and isolate image-handling workloads.
How to confirm the fix worked
Compile a test harness that exercises FreeImage_AllocateBitmap with known triggering inputs and confirm the loop no longer occurs; monitor process CPU and memory metrics under load after applying mitigations.
Typical attack path
- Locate a service or application that links against FreeImage for image handling
- Prepare a malicious bitmap payload designed to trigger the allocation loop
- Deliver the payload through file upload, network request, or local file access
- Observe sustained high CPU usage and unresponsiveness in the target process
How to detect it
Search process and system logs for repeated calls to allocation routines without completion, monitor for sustained high CPU on image-processing workers, and inspect any available stack traces or core dumps showing the allocation function.
What your security team should do
- Prioritize upgrade to a fixed FreeImage version as soon as it becomes available
- Add runtime resource limits and timeouts around image-processing calls
- Enable logging of image-processing failures and high-CPU events for alerting
- Review all direct and transitive dependencies that ship FreeImage 3.18.0
The record
An issue discovered in BitmapAccess.cpp::FreeImage_AllocateBitmap in FreeImage 3.18.0 leads to an infinite loop and allows attackers to cause a denial of service.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | freeimage | 0 | No fix |
| Debian:12 | freeimage | 0 | No fix |
| Debian:13 | freeimage | 0 | No fix |
| Mageia:9 | freeimage | 0 | 3.18.0-10.1.mga9 |
| Ubuntu:20.04:LTS | freeimage | 0 | No fix |
| Ubuntu:22.04:LTS | freeimage | 0 | No fix |
| Ubuntu:24.04:LTS | freeimage | 0 | No fix |
| Ubuntu:24.10 | freeimage | 0 | No fix |
| Ubuntu:25.04 | freeimage | 0 | No fix |
| Ubuntu:25.10 | freeimage | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | freeimage | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | freeimage | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | freeimage | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | freeimage | 0 | No fix |
Related vulnerabilities
- CVE-2024-9029 A flaw was found in the freeimage library. Also affects freeimage
- CVE-2024-31570 In FreeImage library version 3.19.0 [r1909], when reading images in XPM format, the… Also affects freeimage
- CVE-2024-28583 Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local… Also affects freeimage
- CVE-2024-28584 Null Pointer Dereference vulnerability in open source FreeImage v.3.19.0 [r1909] allows a… Also affects freeimage
- CVE-2024-28578 Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local… Also affects freeimage
- CVE-2024-28579 Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local… Also affects freeimage
- CVE-2024-28580 Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local… Also affects freeimage
- CVE-2024-28582 Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local… Also affects freeimage