CVE-2026-10194 Overview
CVE-2026-10194 is a heap-based buffer overflow in OFFIS DCMTK 3.7.0, an open-source toolkit widely used for handling DICOM medical imaging data. The flaw resides in the DcmQueryRetrieveIndexDatabaseHandle::deleteOldestImages function within dcmqrdb/libsrc/dcmqrdbi.cc, part of the dcmqrscp query/retrieve service component. An authenticated remote attacker can manipulate input handled by this function to corrupt heap memory. The weakness is categorized under [CWE-119] (Improper Restriction of Operations within the Bounds of a Memory Buffer). A fix is available in upstream commit 0f78a4ef6f645ea5530166e445e5436a5de58e75.
Critical Impact
Remote attackers with low privileges can trigger heap corruption in the dcmqrscp DICOM service, risking service disruption or memory integrity loss in medical imaging environments.
Affected Products
- OFFIS DCMTK 3.7.0
- dcmqrscp query/retrieve service component
- dcmqrdb library (dcmqrdbi.cc)
Discovery Timeline
- 2026-05-31 - CVE-2026-10194 published to NVD
- 2026-06-01 - Last updated in NVD database
- Patch commit - 0f78a4ef6f645ea5530166e445e5436a5de58e75 published in the DCMTK Git repository
Technical Details for CVE-2026-10194
Vulnerability Analysis
The vulnerability is a heap-based buffer overflow in the deleteOldestImages method of the DcmQueryRetrieveIndexDatabaseHandle class. This method participates in DCMTK's index database cleanup logic, which removes the oldest images from the local DICOM store when capacity thresholds are reached. Improper bounds enforcement during this cleanup path allows a manipulated input set to write past the allocated heap buffer. Because the affected code runs inside dcmqrscp, a network-facing DICOM service, exploitation does not require local access. The attack vector is network-based with low attack complexity, but the attacker must hold at least low-level privileges on the service.
Root Cause
The defect stems from improper restriction of memory operations during database index manipulation in dcmqrdb/libsrc/dcmqrdbi.cc. Records governing the oldest image set are processed without enforcing strict size validation against the destination heap buffer. The upstream patch identified by hash 0f78a4ef6f645ea5530166e445e5436a5de58e75 corrects the boundary handling.
Attack Vector
An attacker reaches the vulnerable code by sending crafted DICOM operations to a network-exposed dcmqrscp instance. Triggering the cleanup path in deleteOldestImages causes the out-of-bounds heap write. Refer to the DCMTK Commit Change and the VulDB CVE-2026-10194 entry for full technical context.
No verified public proof-of-concept code is currently available. The vulnerability manifests when deleteOldestImages processes index entries during database pruning. See the upstream commit for the specific boundary handling fix.
Detection Methods for CVE-2026-10194
Indicators of Compromise
- Unexpected crashes or restart loops of the dcmqrscp service consistent with heap corruption.
- Anomalous DICOM C-STORE or C-FIND traffic targeting query/retrieve endpoints from low-trust sources.
- Heap allocator error messages or core dumps referencing DcmQueryRetrieveIndexDatabaseHandle frames.
Detection Strategies
- Inventory all systems running OFFIS DCMTK 3.7.0 and verify whether the dcmqrscp service is exposed to internal or external networks.
- Monitor process telemetry for abnormal terminations or memory faults in dcmqrscp binaries.
- Inspect DICOM protocol traffic for malformed association requests or unusual storage commit volumes.
Monitoring Recommendations
- Forward DCMTK service logs, host syslog, and crash dumps to a centralized SIEM for correlation.
- Alert on repeated dcmqrscp restarts within short time windows, which may indicate exploitation attempts.
- Track network flows to DICOM ports (typically TCP 104, 11112) and flag connections from unauthorized hosts.
How to Mitigate CVE-2026-10194
Immediate Actions Required
- Apply the upstream patch from commit 0f78a4ef6f645ea5530166e445e5436a5de58e75 and rebuild DCMTK from the patched source.
- Restrict network access to dcmqrscp so it is reachable only from trusted PACS and modality hosts.
- Audit DICOM Application Entity Title (AET) access lists and remove any unused or overly permissive entries.
Patch Information
The fix is published in the DCMTK Git repository as commit 0f78a4ef6f645ea5530166e445e5436a5de58e75. Operators of DCMTK 3.7.0 should rebuild affected binaries from a tree that includes this commit or move to a subsequent tagged release that contains the fix. See the DCMTK Commit Change for the authoritative patch.
Workarounds
- Place dcmqrscp behind a network segment accessible only via VPN or zero-trust gateway until the patch is applied.
- Enforce strict AET allow-listing and TLS-secured DICOM associations to limit who can issue query/retrieve operations.
- Reduce storage thresholds and rotate test data to limit the operational need for the deleteOldestImages code path on exposed instances.
# Build DCMTK from a tree containing the patch commit
git clone https://git.dcmtk.org/dcmtk.git
cd dcmtk
git checkout 0f78a4ef6f645ea5530166e445e5436a5de58e75
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
# Restart the patched dcmqrscp service
sudo systemctl restart dcmqrscp
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

