Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach network DICOM service port
-
DeliverySend C-STORE with deeply nested SQ elements
-
ExploitTrigger unbounded recursion in parser
-
ExecutionExhaust call stack, crash process
-
ImpactDenial of service on imaging node
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
|
| Exploitation Conditions | No special conditions beyond network reachability of a DICOM service - the malicious dataset is parsed before authentication, so any DCMTK 3.7.0-based service accepting incoming associations (storescp, dcmrecv, dcmqrscp, or custom DICOM SCPs) is exploitable by an unauthenticated remote attacker simply by delivering a dataset with sequence nesting beyond the (previously nonexistent) depth limit. The specific trigger is a DICOM dataset containing deeply nested SQ elements exceeding available call-stack depth. Limiting factors: the attacker must be able to reach the DICOM listening port (often segmented on internal healthcare networks rather than internet-exposed); impact is confined to availability (process crash) with no code execution or data exposure; and the issue is remediated by the patched default 64-level limit or by setting a runtime nesting limit. Local exposure also exists - dcmdump and similar tools crash when opening a crafted file. |
| Impact | This is a genuine but bounded risk. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms remote, unauthenticated, low-complexity exploitation with no user interaction, and the description reinforces that the malicious dataset is parsed BEFORE authentication in C-STORE handling - a key amplifier because network-facing DICOM services (storescp, dcmrecv, dcmqrscp) can be crashed by anyone who can reach the listening port. However, impact is strictly availability (VA:H, with VC:N/VI:N/VA:H and SC/SI/SA:N): this is a stack-exhaustion crash, not code execution or data disclosure, so the 8.7 score is driven entirely by easy reachability against a high availability impact rather than by compromise potential. No EPSS score, no CISA KEV listing, and no public exploit were provided in the intelligence set, so there is no evidence of active exploitation or widespread weaponization. Net: prioritize patching for internet- or network-exposed DCMTK-based DICOM receivers (unauthenticated pre-auth crash of a medical-imaging service is operationally serious), but treat it as a DoS/availability issue, not a remote-code-execution emergency. Note the only CVSS vector supplied is 4.0; no CVSS 3.1 vector was provided for cross-comparison. |
| Exploit ScenarioDerived | An attacker who can reach a network-exposed DCMTK-based DICOM service (e.g., storescp or dcmqrscp) sends a crafted C-STORE request containing a DICOM dataset with hundreds of deeply nested SQ (sequence) elements. Because the dataset is parsed before any authentication, the recursive DcmSequenceOfItems::read()/DcmItem::read() calls exhaust the call stack and crash the process, denying service to a medical-imaging node. No public exploit code was identified in the provided intelligence, but the trigger file is trivial to construct and also crashes local tools like dcmdump when opened. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Deeply nested DICOM sequence (SQ) elements delivered to a DCMTK 3.7.0-based service drive the parser into unbounded recursion, exhaust the process call stack, and crash the process - an unauthenticated remote attacker can trigger this against storescp, dcmrecv, dcmqrscp, or any custom DICOM SCP built on the dcmdata library simply by sending a crafted dataset in a C-STORE request. Because the received dataset is parsed before any authentication or association-level trust decision occurs, no credentials or special conditions are required beyond network reachability of the DICOM listening port; the same crafted file also crashes local utilities such as dcmdump. Impact is limited to availability (stack exhaustion and process termination, with no code execution, data leakage, or integrity loss), and no public exploit code identified at time of analysis; the vendor has published an upstream fix that adds a configurable sequence nesting depth limit defaulting to 64.
RemediationAI
Apply the upstream fix by upgrading to a DCMTK build that includes commit 885ff0f10372bd589b5f44cea974f28a3964cb0f (see https://github.com/DCMTK/dcmtk/commit/885ff0f10372bd589b5f44cea974f28a3964cb0f and advisory https://support.dcmtk.org/redmine/issues/1191); patch status is vendor-supplied, and because the fix is delivered as a source commit rather than a tagged release, confirm the exact patched version for your distribution before relying on it, and if you build from source define DCMTK_MAX_SEQUENCE_NESTING (default 64) or call DcmInputStream::setMaxNestingDepth(), DcmItem::setMaxNestingDepth(), or DcmFileFormat::setMaxNestingDepth() on the parse path - note that setting these to -1 disables the protection entirely, so never use -1 on services that ingest external datasets. Where upgrading is not immediately possible, compensating controls should be layered because the crash occurs before any authentication: restrict access to DICOM listening ports (commonly 104 and 11112) with firewall rules or network segmentation so only known SCUs can open associations, accepting that this does not help against a compromised or misconfigured authorized sender and that DICOM TLS does not mitigate the issue since parsing precedes authentication; run the DICOM service under a supervisor that automatically restarts it and alert on repeated abnormal terminations, accepting brief availability gaps on each crash; and for local tooling, avoid opening DICOM files from untrusted sources with dcmdump and similar utilities until the library is patched. On build-tunable deployments, lowering the compile-time nesting limit below 64 tightens exposure but may cause legitimate datasets with unusually deep sequences (which the vendor notes are rare, typically 5-10 levels) to be rejected.
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 flaw is an instance of CWE-674 (Uncontrolled Recursion) in OFFIS DCMTK's dcmdata library, specifically in DcmSequenceOfItems::read() and DcmItem::read(). DICOM datasets encode repeating structures as Sequence (SQ) elements, and the recursive parser descends one call frame per nesting level; a dataset with many nested SQ elements therefore consumes stack proportional to nesting depth, and a sufficiently deep dataset overruns the available call stack, crashing the process. The CPE 'cpe:2.3:a:offis:dcmtk:*' marks the affected product family, and the affected release identified in the advisory is DCMTK 3.7.0. The upstream fix (commit 885ff0f10372bd589b5f44cea974f28a3964cb0f) introduces explicit depth accounting in DcmInputStream (nestingDepth_, incrementNestingDepth(), decrementNestingDepth()), a new error condition EC_NestingDepthLimitExceeded in the dcmdata error header, and a compile-time tunable macro DCMTK_MAX_SEQUENCE_NESTING documented in config/docs/macros.txt with a default limit of 64 levels. The limit is also settable per parse operation at runtime through DcmInputStream::setMaxNestingDepth(), DcmItem::setMaxNestingDepth(), and DcmFileFormat::setMaxNestingDepth(), where 0 selects the compile-time default, a positive value sets an explicit ceiling (valid range 1 to 2147483647), and -1 disables the check entirely. The documented rationale notes that real-world DICOM data rarely exceeds 5-10 nesting levels, so a 64-level ceiling is generous for legitimate traffic.
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:N/VI:N/VA:H/SC:N/SI:N/SA:N
Pre-authentication network parsing gives AV:N/AC:L/PR:N/UI:N; crash is availability-only (A:H) with no confidentiality or integrity impact and no scope change.
Primary rating from Vendor (securin).
CVSS VectorVendor: securin
DescriptionCVE.org
Uncontrolled recursion in DcmSequenceOfItems::read() and DcmItem::read() in the dcmdata library of OFFIS DCMTK 3.7.0 allows a remote, unauthenticated attacker to cause a denial of service (stack exhaustion and process crash) via a DICOM dataset containing deeply nested sequences (SQ elements). The dataset can be sent in a C-STORE request to storescp, dcmrecv, dcmqrscp, or any other DICOM service built on DCMTK, because the received dataset is parsed before any authentication takes place. Local tools such as dcmdump also crash when opening such a file. The issue is fixed in commit 885ff0f10372bd589b5f44cea974f28a3964cb0f, which adds a configurable sequence nesting depth limit (default 64).
Executive ViewAI
DCMTK 3.7.0-based DICOM services, including storescp, dcmrecv, dcmqrscp, and custom DICOM SCPs, are vulnerable to a remote denial-of-service attack that can crash the service by sending a crafted DICOM dataset. This affects any organization using these services for medical imaging workflows, potentially disrupting patient care and diagnostic operations. Leadership should prioritize patching because the vulnerability is remotely triggerable and requires no special conditions beyond network access to the DICOM port; no public exploit identified at time of analysis.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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
Heap over-read in DCMTK through 3.7.0 allows unauthenticated remote attackers to crash applications or leak adjacent hea
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-94935
GHSA-hxvw-37gr-vg44
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB