CVE-2024-25569
Medium · 6.5CVSS
6.5
EPSS
1.1%
Published
Apr 25, 2024
CISA due date
—
Cloudanix analysis
A bug in medical image handling software could let someone send a bad file that leaks some data or slows down systems used for viewing scans.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds read in RAWCodec::DecodeBytes when processing a specially crafted DICOM file, resulting in potential information disclosure or application crash.
Why it matters to the business
Medical imaging systems handling DICOM files may experience data leakage or service disruption, affecting diagnostic workflows and requiring urgent patching to maintain operational continuity.
How an attack unfolds
An attacker crafts a malicious DICOM file containing malformed RAW data that triggers the out-of-bounds read during decoding; the file is delivered to a vulnerable Grassroot DICOM instance which processes it without proper bounds validation.
How to fix it
Upgrade Grassroot DICOM to the latest version that resolves the out-of-bounds read in RAWCodec::DecodeBytes; apply vendor patches as soon as available and validate the update in a test environment before production deployment.
How to confirm the fix worked
Confirm the installed version is newer than 3.0.23, reprocess known-good and edge-case DICOM files to ensure no crashes occur, and review source changes for added bounds checks in DecodeBytes.
Typical attack path
- Craft a malicious DICOM file exploiting RAWCodec::DecodeBytes
- Deliver the file via network share, email, or removable media to a target system
- Induce the victim application to process the file
- Trigger out-of-bounds read leading to information disclosure or crash
How to detect it
Review application logs for crashes or errors during DICOM file decoding, inspect process dumps for evidence of out-of-bounds memory access, and correlate file ingestion events with anomalous behavior in medical imaging workflows.
What your security team should do
- Prioritize patching all instances of Grassroot DICOM due to the network-accessible attack vector
- Restrict processing of untrusted DICOM files until updates are applied
- Implement input sanitization or sandboxing for DICOM ingestion pipelines
- Monitor EPSS and exploit maturity indicators for any increase in risk
The record
An out-of-bounds read vulnerability exists in the RAWCodec::DecodeBytes functionality of Mathieu Malaterre Grassroot DICOM 3.0.23. A specially crafted DICOM file can lead to an out-of-bounds read. An attacker can provide a malicious file to trigger this vulnerability.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | gdcm | 0 | No fix |
| Debian:12 | gdcm | 0 | No fix |
| Debian:13 | gdcm | 0 | 3.0.24-1 |
| Debian:14 | gdcm | 0 | 3.0.24-1 |
| Ubuntu:16.04:LTS | gdcm | 0 | No fix |
| Ubuntu:18.04:LTS | gdcm | 0 | No fix |
| Ubuntu:20.04:LTS | gdcm | 0 | No fix |
| Ubuntu:22.04:LTS | gdcm | 0 | No fix |
| Ubuntu:24.04:LTS | gdcm | 0 | No fix |
| Ubuntu:24.10 | gdcm | 0 | 3.0.24-3build1 |
| Ubuntu:Pro:14.04:LTS | gdcm | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | gdcm | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | gdcm | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | gdcm | 0 | No fix |
| openSUSE:Leap 16.0 | gdcm | 0 | 3.0.24-bp160.2.1 |
| openSUSE:Leap 16.0 | orthanc | 0 | 1.12.10-bp160.1.1 |
| openSUSE:Leap 16.0 | orthanc-authorization | 0 | 0.10.3-bp160.1.1 |
| openSUSE:Leap 16.0 | orthanc-dicomweb | 0 | 1.22-bp160.1.1 |
| openSUSE:Leap 16.0 | orthanc-gdcm | 0 | 1.8-bp160.1.1 |
| openSUSE:Leap 16.0 | orthanc-indexer | 0 | 1.0-bp160.2.1 |
| openSUSE:Leap 16.0 | orthanc-mysql | 0 | 5.2-bp160.2.1 |
| openSUSE:Leap 16.0 | orthanc-neuro | 0 | 1.1-bp160.2.1 |
| openSUSE:Leap 16.0 | orthanc-postgresql | 0 | 10.0-bp160.1.1 |
| openSUSE:Leap 16.0 | orthanc-python | 0 | 7.0-bp160.1.1 |
| openSUSE:Leap 16.0 | orthanc-stl | 0 | 1.2-bp160.2.1 |
| openSUSE:Leap 16.0 | orthanc-tcia | 0 | 1.3-bp160.1.1 |
| openSUSE:Leap 16.0 | orthanc-wsi | 0 | 3.3-bp160.1.1 |
| openSUSE:Leap 16.0 | python-pyorthanc | 0 | 1.22.1-bp160.1.1 |
| openSUSE:Tumbleweed | orthanc-gdcm | 0 | 1.7-1.1 |
Related vulnerabilities
- CVE-2024-22391 A heap-based buffer overflow vulnerability exists in the LookupTable::SetLUT… Also affects gdcm
- CVE-2024-22373 An out-of-bounds write vulnerability exists in the JPEG2000Codec::DecodeByStreamsCommon… Also affects gdcm
- CVE-2015-8396 Integer overflow in the ImageRegionReader::ReadIntoBuffer function in… Also affects gdcm
- CVE-2009-3560 The big2_toUtf8 function in lib/xmltok.c in libexpat in Expat 2.0.1, as used in the… Also affects gdcm
- CVE-2009-3720 The updatePosition function in lib/xmltok_impl.c in libexpat in Expat 2.0.1, as used in… Also affects gdcm
- CVE-2024-50602 An issue was discovered in libexpat before 2.6.4. Also affects gdcm
- CVE-2024-45491 An issue was discovered in libexpat before 2.6.3. Also affects gdcm
- CVE-2024-45492 An issue was discovered in libexpat before 2.6.3. Also affects gdcm