Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft DICOM instance with inflated NumberOfFrames
-
DeliveryDeliver instance to DCMTK-based receiver/viewer
-
ExploitConcatenationLoader copies unvalidated frames
-
ExecutionHeap over-read past PixelData buffer
-
ImpactApplication crash or adjacent heap memory leak
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target application uses DCMTK's dcmfg ConcatenationLoader to load a multi-frame DICOM concatenation, and that the attacker can supply a DICOM instance whose NumberOfFrames (combined with Rows/Columns/BitsAllocated geometry) declares more pixel data than the PixelData element actually contains. The realistic limiting factor is the ingestion path: fully remote-unauthenticated exploitation applies only where DCMTK processes untrusted instances automatically (e.g. a DICOM network storage/receiver service); for offline viewers or command-line tools, an operator typically must open the malicious file, effectively making it local with user interaction. Only versions through 3.7.0 are affected, and the primary reliable impact is a crash (DoS), with heap-memory disclosure being conditional on how leaked frame bytes are subsequently exposed. |
| Impact | The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H) rates this 8.8 (High), driven almost entirely by the availability impact (VA:H, application crash) with only low confidentiality (VC:L, adjacent-heap leak) and no integrity impact - consistent with a CWE-125 heap over-read confirmed by the patch diff, which adds explicit buffer-length validation before the frame-by-frame copy. No EPSS score, KEV listing, or SSVC decision data is provided, and there is no public exploit code identified - only a VulnCheck advisory describing the flaw. Real-world priority is moderate-to-serious in DICOM-processing/PACS environments where DCMTK ingests attacker-influenced instances: the primary realistic outcome is denial of service (crash), with heap-memory disclosure being harder to weaponize reliably. Note a caveat on the attack vector: DCMTK is a library, and whether AV:N truly applies depends on deployment - a DICOM network service (e.g. storescp-style receiver) processing untrusted instances justifies AV:N/PR:N/UI:N, but a purely file-based/offline tool would effectively be local (AV:L) and often require a user to open the file (UI:R). Verify the ingestion path in your specific product before treating this as fully remote-unauthenticated. |
| Exploit ScenarioDerived | An attacker crafts a malicious DICOM instance in which NumberOfFrames declares more frames than the PixelData element actually contains, then delivers it to a system that loads concatenations via DCMTK (e.g. a PACS/DICOM receiver or viewer). When ConcatenationLoader copies the announced frames, it reads past the end of the heap buffer, crashing the service (denial of service) or copying adjacent heap memory into output frames (information leak). No public exploit code is identified, but the malicious-file construction is straightforward and a validating test case is included in the vendor patch. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 24, 2026
Heap over-read in DCMTK through 3.7.0 allows unauthenticated remote attackers to crash applications or leak adjacent heap memory by supplying a crafted DICOM instance whose declared NumberOfFrames exceeds the actual PixelData buffer length. The flaw resides in the ConcatenationLoader module (dcmfg) and is triggered when loading multi-frame DICOM concatenations; exploitation requires an ingestion path that processes untrusted instances (e.g., a DICOM network storage service), as offline viewers typically require a user to open the file. No public exploit code is identified at time of analysis, and a vendor patch is available via upstream commits.
RemediationAI
Vendor-released patch is available via upstream commits 18379d5b8d234977cc30644e9e70d76d89c87285 and c33790827a192a598d20463af701a8b819f46ec1, which add validation of the PixelData buffer length against the declared frame geometry. No specific patched version number is provided, so apply these commits or upgrade to a DCMTK release that includes them. As a workaround, avoid processing untrusted DICOM instances with the ConcatenationLoader; if the module is not required, consider disabling or not using it-though this may reduce functionality for multi-frame concatenation support. For network-facing DICOM services (e.g., storage SCPs), restrict inbound connections to trusted sources or implement pre-processing to reject instances where NumberOfFrames * Rows * Columns * BitsAllocated exceeds the PixelData element length; this validation adds overhead but prevents the over-read. Monitor the vendor issue tracker at https://support.dcmtk.org/redmine/issues/1281 for further updates.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability is a CWE-125 heap over-read in DCMTK's ConcatenationLoader (dcmfg/libsrc/concatenationloader.cc), which handles loading multi-frame DICOM concatenations. The loader copies pixel data frames based on declared NumberOfFrames, Rows, Columns, and BitsAllocated attributes but fails to validate that the actual PixelData buffer contains enough bytes. An attacker can craft a DICOM instance declaring more frames than the buffer holds, triggering reads past the end of the heap allocation. The patch diff confirms the fix introduces size_t arithmetic with safe multiplication (OFStandard::safeMult) and explicit length checks (e.g., bytesRequired > numBytes) before copying frames, returning FG_EC_PixelDataDimensionsInvalid on mismatch. The affected component is part of the OFFIS DCMTK toolkit; the CPE cpe:2.3:a:offis:dcmtk:*:*:*:*:*:*:*:* reflects that all versions through 3.7.0 are potentially affected. The over-read can crash the application (availability impact) and may disclose adjacent heap memory if leaked frame bytes are exposed (confidentiality impact).
Know when Dcmtk gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
Aligned with vendor: a DICOM service ingesting untrusted instances gives AV:N/PR:N/UI:N; low heap-leak confidentiality (C:L), no integrity impact, and reliable crash (A:H).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
DCMTK through 3.7.0 contains a heap over-read vulnerability in ConcatenationLoader that copies pixel data frames without validating the PixelData buffer length against the declared NumberOfFrames. Attackers can craft malicious DICOM instances declaring more frames than the buffer contains to trigger heap over-reads that crash the application or leak adjacent heap memory.
Executive ViewAI
Organizations running DCMTK up to and including 3.7.0 - the imaging toolkit embedded in many DICOM network storage services, archives, and clinical processing pipelines - are exposed to a high-severity heap over-read that a remote sender can trigger by submitting a malformed multi-frame DICOM instance, crashing the receiving application and leaking adjacent heap memory. Because the flaw sits on the inbound ingestion path where imaging traffic is routinely accepted from external systems, a single hostile or corrupted study can interrupt clinical viewing and downstream processing for radiology and any dependent care workflow. No public exploit identified at time of analysis, but a vendor patch is available, so the decision leadership faces is how quickly affected services can be upgraded versus how long they tolerate an availability and data-exposure risk on a patient-facing system.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
OFFIS.de DCMTK 3.6.3 and below is affected by: Buffer Overflow. Rated critical severity (CVSS 9.8), this vulnerability i
Stack-based buffer overflow in the parsePresentationContext function in storescp in DICOM dcmtk-3.6.0 and earlier allows
Buffer Overflow vulnerability in DCMTK v.3.6.8 allows an attacker to execute arbitrary code via the EctEnhancedCT method
An incorrect type conversion vulnerability exists in the DVPSSoftcopyVOI_PList::createFromImage functionality of OFFIS D
DCMTK v3.6.7 was discovered to contain a memory leak via the T_ASC_Association object. Rated high severity (CVSS 7.5), t
(1) movescu.cc and (2) storescp.cc in dcmnet/apps/, (3) dcmnet/libsrc/scp.cc, (4) dcmwlm/libsrc/wlmactmg.cc, (5) dcmprsc
OFFIS DCMTK's (All versions prior to 3.6.7) service class user (SCU) is vulnerable to relative path traversal, allowing
OFFIS DCMTK's (All versions prior to 3.6.7) service class provider (SCP) is vulnerable to path traversal, allowing an at
dcmdata in DCMTK before 3.6.9 has a segmentation fault via an invalid DIMSE message. Rated medium severity (CVSS 5.3), t
Deeply nested DICOM sequence (SQ) elements delivered to a DCMTK 3.7.0-based service drive the parser into unbounded recu
dcmnet in DCMTK before 3.6.9 has a segmentation fault via an invalid DIMSE message. Rated medium severity (CVSS 4.3), th
A NULL pointer dereference in the component /libsrc/dcrleccd.cc of DCMTK v3.6.9+ DEV allows attackers to cause a Denial
EUVD-2026-85885
GHSA-4pm7-3ffj-xfrq
NVD
CVE.org
EPSS
Exploit-DB