Cloudanix VulnDB

CVE-2023-47997

Medium · 6.5

CVSS

6.5

EPSS

0.9%

Published

Jan 10, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

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.

Exploit Available
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

  1. Locate a service or application that links against FreeImage for image handling
  2. Prepare a malicious bitmap payload designed to trigger the allocation loop
  3. Deliver the payload through file upload, network request, or local file access
  4. 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