CVE-2024-31744
High · 7.5CVSS
7.5
EPSS
0.7%
Published
Apr 19, 2024
CISA due date
—
Cloudanix analysis
A bug in image software can let attackers shut down programs that open certain pictures, causing temporary outages until the software is updated.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Assertion failure in jpc_streamlist_remove during JPEG2000 stream list removal in the decoder causes immediate process termination when a crafted image is processed.
Why it matters to the business
Image-handling services and applications may become unavailable after receiving a single malicious file, resulting in downtime and potential loss of processing capability until restarted.
How an attack unfolds
An attacker prepares a JPEG2000 image that exercises an invalid state in the jpc stream list handling code; when the target application decodes the file the assertion triggers and the process exits.
How to fix it
Update jasper-software/jasper to commit 6d084c53a77762f41bb5310713a5f1872fef55f5 or later; rebuild and redeploy all dependent applications.
How to confirm the fix worked
Confirm the running binary or library reports the patched commit; re-process a known triggering image and verify no assertion or crash occurs.
Typical attack path
- Locate services that accept or process user-supplied images with Jasper
- Generate or obtain a JPEG2000 file that triggers the assertion in jpc_streamlist_remove
- Deliver the file to the target (upload, API request, or attachment)
- Force the application to decode the image
- Observe denial of service from the resulting crash
How to detect it
Monitor application and system logs for assertion failures or abrupt terminations originating from Jasper decoder routines when JPEG2000 files are processed.
What your security team should do
- Apply the upstream fix to all instances within the next maintenance window
- Add runtime image-format validation or sandboxing for untrusted files until patched
- Enable crash reporting and alerting on Jasper decoder processes
- Review and restrict image upload surfaces where feasible
The record
In Jasper 4.2.2, the jpc_streamlist_remove function in src/libjasper/jpc/jpc_dec.c:2407 has an assertion failure vulnerability, allowing attackers to cause a denial of service attack through a specific image file.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Mageia:9 | jasper | 0 | 3.0.6-1.1.mga9 |
| SUSE:Enterprise Storage 7.1 | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise Server 12 SP5 | jasper | 0 | 1.900.14-195.40.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | jasper | 0 | 1.900.14-195.40.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | jasper | 0 | 1.900.14-195.40.1 |
| SUSE:Manager Proxy 4.3 | jasper | 0 | 2.0.14-150000.3.34.1 |
| SUSE:Manager Server 4.3 | jasper | 0 | 2.0.14-150000.3.34.1 |
| Ubuntu:16.04:LTS | jasper | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | jasper | 0 | No fix |
| openSUSE:Leap 15.5 | jasper | 0 | 2.0.14-150000.3.34.1 |
| openSUSE:Tumbleweed | jasper | 0 | 4.2.3-2.1 |
Related vulnerabilities
- CVE-2017-9782 JasPer 2.0.12 allows remote attackers to cause a denial of service (heap-based buffer… Also affects jasper
- CVE-2015-5203 Double free vulnerability in the jasper_image_stop_load function in JasPer 1.900.17… Also affects jasper
- CVE-2016-10249 Integer overflow in the jpc_dec_tiledecode function in jpc_dec.c in JasPer before… Also affects jasper
- CVE-2016-1577 Double free vulnerability in the jas_iccattrval_destroy function in JasPer 1.900.1 and… Also affects jasper
- CVE-2014-8158 Multiple stack-based buffer overflows in jpc_qmfb.c in JasPer 1.900.1 and earlier allow… Also affects jasper
- CVE-2014-8157 Off-by-one error in the jpc_dec_process_sot function in JasPer 1.900.1 and earlier allows… Also affects jasper
- CVE-2014-8138 Heap-based buffer overflow in the jp2_decode function in JasPer 1.900.1 and earlier… Also affects jasper
- CVE-2014-8137 Double free vulnerability in the jas_iccattrval_destroy function in JasPer 1.900.1 and… Also affects jasper