CVE-2024-11498
NoneCVSS
—
EPSS
0.6%
Published
Nov 25, 2024
CISA due date
—
Cloudanix analysis
A bug in an image library can let specially made picture files use so much memory that programs crash, and updating the library fixes it.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Stack buffer overflow in JPEG XL decoder allows a crafted file to allocate up to 256 MB (possibly 512 MB) on the stack, exhausting available stack space and causing crashes or excessive memory consumption.
Why it matters to the business
Applications that decode JPEG XL images can crash or become unresponsive when processing attacker-supplied files, leading to service disruption and potential loss of availability for image-handling workflows; low exploit maturity and absence from known exploited lists reduce immediate widespread risk but still require prompt patching of the widely used library.
How an attack unfolds
An attacker crafts a malicious JPEG XL file designed to trigger excessive stack allocations during decoding. The file is delivered to a target application or service that uses libjxl, causing the decoder to consume large amounts of stack memory and potentially crash the process.
How to fix it
Upgrade libjxl to commit aa2df30120b92078ab7b172fadf97dd7a937f51a or later; rebuild and redeploy all dependent applications; test image processing pipelines with the updated library.
How to confirm the fix worked
Confirm the installed libjxl commit is aa2df30120b92078ab7b172fadf97dd7a937f51a or newer; run decoder unit tests against known large-stack test vectors; monitor process memory usage during image decoding.
Typical attack path
- Identify or compromise a target that processes JPEG XL images using libjxl
- Craft a JPEG XL file that forces large stack allocations in the decoder
- Deliver the file via upload, download, email attachment, or web content
- Trigger decoding to exhaust stack resources and induce denial of service
How to detect it
Search application and system logs for sudden crashes or out-of-memory errors during JPEG XL decoding; monitor for processes consuming unusually high stack memory when handling image files; review any available crash dumps or stack traces for decoder entry points.
What your security team should do
- Prioritize upgrade of libjxl in all image-processing services within the next maintenance window
- Inventory all products and containers that depend on libjxl and schedule updates
- Add memory-usage monitoring for image decoders to detect anomalous stack growth
- Review and restrict untrusted JPEG XL file sources until patched
The record
There exists a stack buffer overflow in libjxl. A specifically-crafted file can cause the JPEG XL decoder to use large amounts of stack space (up to 256mb is possible, maybe 512mb), potentially exhausting the stack. An attacker can craft a file that will cause excessive memory usage. We recommend upgrading past commit 65fbec56bc578b6b6ee02a527be70787bbd053b0.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:12 | jpeg-xl | 0 | No fix |
| Debian:13 | jpeg-xl | 0 | 0.10.4-2 |
| Mageia:9 | libjxl | 0 | 0.7.2-1.mga9 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | mozjs115 | 0 | 115.4.0-150600.3.6.1 |
| SUSE:Package Hub 15 SP5 | libjxl | 0 | 0.8.2-bp155.2.6.1 |
| SUSE:Package Hub 15 SP6 | libjxl | 0 | 0.8.4-bp156.3.3.4 |
| SUSE:Package Hub 15 SP6 | libjxl-gtk | 0 | 0.8.4-bp156.3.3.4 |
| Ubuntu:24.04:LTS | jpeg-xl | 0 | No fix |
| Ubuntu:24.04:LTS | jpeg-xl | 0 | 0.7.0-10.2ubuntu6.1 |
| Ubuntu:24.10 | jpeg-xl | 0 | No fix |
| openSUSE:Leap 15.5 | libjxl | 0 | 0.8.2-bp155.2.6.1 |
| openSUSE:Leap 15.6 | libjxl | 0 | 0.8.4-bp156.3.3.4 |
| openSUSE:Leap 15.6 | libjxl-gtk | 0 | 0.8.4-bp156.3.3.4 |
| openSUSE:Leap 15.6 | mozjs115 | 0 | 115.4.0-150600.3.6.1 |
| openSUSE:Tumbleweed | libjxl | 0 | 0.11.1-1.1 |
| openSUSE:Tumbleweed | mozjs115 | 0 | 115.15.0-4.1 |
| openSUSE:Tumbleweed | mozjs128 | 0 | 128.5.1-3.1 |
Related vulnerabilities
- CVE-2024-11403 There exists an out of bounds read/write in LibJXL versions prior to commit… Also affects jpeg-xl
- CVE-2024-56431 oc_huff_tree_unpack in huffdec.c in libtheora in Theora through 1.0 7180717 has an… Also affects mozjs115
- CVE-2024-50602 An issue was discovered in libexpat before 2.6.4. Also affects mozjs115
- CVE-2024-45491 An issue was discovered in libexpat before 2.6.3. Also affects mozjs115
- CVE-2024-45492 An issue was discovered in libexpat before 2.6.3. Also affects mozjs115
- CVE-2024-45490 An issue was discovered in libexpat before 2.6.3. Also affects mozjs115
- CVE-2025-70103 Heap buffer overflow vulnerability in libjxl 0.12.0 via crafted PBM images to the… Also affects libjxl
- CVE-2026-1837 A specially-crafted file can cause libjxl's decoder to write pixel data to uninitialized… Also affects libjxl