CVE-2024-25450
High · 8.8CVSS
8.8
EPSS
0.7%
Published
Feb 9, 2024
CISA due date
—
Cloudanix analysis
A bug in a graphics library can let attackers take over programs that handle images, putting any system that displays pictures at risk of being hijacked.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw in init_imlib_fonts() performs incorrect memory allocation, leading to heap corruption that permits out-of-bounds writes and subsequent arbitrary code execution when a malicious font or image is processed.
Why it matters to the business
Systems relying on imlib2 for image or graphics handling face elevated risk of remote compromise, potentially resulting in loss of data integrity, unauthorized access, or service disruption across dependent applications.
How an attack unfolds
An attacker crafts a specially malformed image or font file that triggers the faulty allocation path in init_imlib_fonts(); when the target application loads the file, the resulting memory corruption is used to overwrite control structures and execute attacker-supplied code.
How to fix it
Upgrade imlib2 to a version containing the corrected font initialization logic as soon as a patched release is published; in the interim, restrict processing of untrusted images and fonts or isolate affected components behind additional input validation layers.
How to confirm the fix worked
After applying updates, recompile or reinstall dependent applications, then exercise image and font loading code paths with both benign and previously crashing test files to confirm absence of crashes or unexpected behavior.
Typical attack path
- Identify a network-reachable service or application that uses imlib2 to render images or fonts
- Deliver a malicious image or font file via upload, download, or embedded content
- Trigger processing of the file to invoke init_imlib_fonts()
- Exploit the resulting memory corruption to gain code execution and establish persistence or exfiltrate data
How to detect it
Review application and system logs for crashes or segmentation faults occurring during image or font loading; correlate with file-access events involving untrusted image sources and inspect for unexpected child processes spawned from graphics-handling binaries.
What your security team should do
- Inventory all systems and containers that depend on imlib2 and prioritize patching once a fixed version is released
- Implement strict input sanitization or sandboxing for any image-processing workflows until remediation is complete
- Monitor upstream imlib2 release notes and package repositories for the availability of corrected builds
The record
imlib2 v1.9.1 was discovered to mishandle memory allocation in the function init_imlib_fonts().
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | imlib2 | 0 | 1.7.1-2+deb11u1 |
| Debian:12 | imlib2 | 0 | 1.10.0-2 |
| Debian:13 | imlib2 | 0 | 1.10.0-2 |
| Ubuntu:14.04:LTS | imlib2 | 0 | No fix |
| Ubuntu:16.04:LTS | imlib2 | 0 | No fix |
| Ubuntu:18.04:LTS | imlib2 | 0 | No fix |
| Ubuntu:20.04:LTS | imlib2 | 0 | No fix |
| Ubuntu:22.04:LTS | imlib2 | 0 | No fix |
| Ubuntu:24.04:LTS | imlib2 | 0 | No fix |
| Ubuntu:24.10 | imlib2 | 0 | No fix |
| Ubuntu:25.04 | imlib2 | 0 | No fix |
| Ubuntu:25.10 | imlib2 | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | imlib2 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | imlib2 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | imlib2 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | imlib2 | 0 | No fix |
Related vulnerabilities
- CVE-2024-25448 An issue in the imlib_free_image_and_decache function of imlib2 v1.9.1 allows attackers… Also affects imlib2
- CVE-2024-25447 An issue in the imlib_load_image_with_error_return function of imlib2 v1.9.1 allows… Also affects imlib2
- CVE-2020-12761 modules/loaders/loader_ico.c in imlib2 1.6.0 has an integer overflow (with resultant… Also affects imlib2
- CVE-2011-5326 imlib2 before 1.4.9 allows remote attackers to cause a denial of service (divide-by-zero… Also affects imlib2