Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-10194

CVE-2026-10194: OFFIS DCMTK Buffer Overflow Vulnerability

CVE-2026-10194 is a heap-based buffer overflow flaw in OFFIS DCMTK 3.7.0 affecting the dcmqrscp component. Attackers can exploit this remotely to compromise systems. This article covers technical details, impact, and mitigation.

Published:

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.
bash
# 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.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.