CVE-2024-22391
High · 7.7CVSS
7.7
EPSS
1.4%
Published
Apr 25, 2024
CISA due date
—
Cloudanix analysis
A flaw in certain medical image software lets attackers send a bad file that can crash the program or take control of the computer.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap-based buffer overflow in LookupTable::SetLUT triggered by a malformed file, resulting in memory corruption.
Why it matters to the business
Medical imaging and DICOM processing systems may experience crashes, data integrity loss, or remote code execution, disrupting clinical workflows and risking patient data exposure.
How an attack unfolds
An attacker crafts a specially malformed DICOM file and supplies it to the vulnerable software; when LookupTable::SetLUT processes the file, the overflow corrupts memory and enables further attacker control.
How to fix it
Upgrade Grassroot DICOM to the latest patched release that resolves the LookupTable::SetLUT issue; if no update is available, isolate affected systems and apply input sanitization where feasible.
How to confirm the fix worked
Verify installed version is newer than 3.0.23, test file ingestion with known-good and malformed samples in a lab environment, and confirm absence of crashes or memory errors during processing.
Typical attack path
- Craft a malformed DICOM file targeting LookupTable::SetLUT
- Deliver the file to a vulnerable application instance
- Trigger file parsing and LUT processing
- Exploit the resulting heap overflow for memory corruption or code execution
How to detect it
Inspect application logs for crashes or errors during DICOM file parsing, review memory dumps for heap corruption patterns around LUT handling, and correlate file ingestion events with unexpected process behavior.
What your security team should do
- Apply vendor updates immediately given the two-year disclosure window
- Restrict untrusted DICOM file ingestion to hardened processing nodes
- Monitor application logs and memory usage for anomalous behavior during file handling
- Review downstream dependents that embed the library for exposure
The record
A heap-based buffer overflow vulnerability exists in the LookupTable::SetLUT functionality of Mathieu Malaterre Grassroot DICOM 3.0.23. A specially crafted malformed file can lead to memory corruption. 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-25569 An out-of-bounds read vulnerability exists in the RAWCodec::DecodeBytes functionality of… 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