Skip to main content

OFFIS DCMTK EUVDEUVD-2026-94935

| CVE-2026-44031 HIGH
Uncontrolled Recursion (CWE-674)
2026-10-08 securin GHSA-hxvw-37gr-vg44
8.7
CVSS 4.0 · Vendor: securin
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach network DICOM service port
  2. Delivery
    Send C-STORE with deeply nested SQ elements
  3. Exploit
    Trigger unbounded recursion in parser
  4. Execution
    Exhaust call stack, crash process
  5. Impact
    Denial 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

DCMTK 3.7.0

Affected Packages

euvd dcmtk no fix

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

Vendor (securin) PRIMARY 8.7 HIGH
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
vuln.today AI 7.5 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (securin).

CVSS VectorVendor: securin

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Medium
de facto open-source DICOM toolkit, widely embedded but healthcare/imaging-specific
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Dcmtk

View all
CVE-2019-1010228 CRITICAL POC
9.8 Jul 22

OFFIS.de DCMTK 3.6.3 and below is affected by: Buffer Overflow. Rated critical severity (CVSS 9.8), this vulnerability i

CVE-2015-8979 HIGH POC
7.5 Feb 15

Stack-based buffer overflow in the parsePresentationContext function in storescp in DICOM dcmtk-3.6.0 and earlier allows

CVE-2024-27628 HIGH POC
8.1 Jun 28

Buffer Overflow vulnerability in DCMTK v.3.6.8 allows an attacker to execute arbitrary code via the EctEnhancedCT method

CVE-2024-28130 HIGH POC
7.5 Apr 23

An incorrect type conversion vulnerability exists in the DVPSSoftcopyVOI_PList::createFromImage functionality of OFFIS D

CVE-2022-43272 HIGH POC
7.5 Dec 02

DCMTK v3.6.7 was discovered to contain a memory leak via the T_ASC_Association object. Rated high severity (CVSS 7.5), t

CVE-2013-6825 HIGH POC
7.2 Jun 10

(1) movescu.cc and (2) storescp.cc in dcmnet/apps/, (3) dcmnet/libsrc/scp.cc, (4) dcmwlm/libsrc/wlmactmg.cc, (5) dcmprsc

CVE-2022-2120 CRITICAL
9.8 Jun 24

OFFIS DCMTK's (All versions prior to 3.6.7) service class user (SCU) is vulnerable to relative path traversal, allowing

CVE-2022-2119 CRITICAL
9.8 Jun 24

OFFIS DCMTK's (All versions prior to 3.6.7) service class provider (SCP) is vulnerable to path traversal, allowing an at

CVE-2024-34509 MEDIUM POC
5.3 May 05

dcmdata in DCMTK before 3.6.9 has a segmentation fault via an invalid DIMSE message. Rated medium severity (CVSS 5.3), t

CVE-2026-97059 HIGH
8.8 Sep 24

Heap over-read in DCMTK through 3.7.0 allows unauthenticated remote attackers to crash applications or leak adjacent hea

CVE-2024-34508 MEDIUM POC
4.3 May 05

dcmnet in DCMTK before 3.6.9 has a segmentation fault via an invalid DIMSE message. Rated medium severity (CVSS 4.3), th

CVE-2025-25475 HIGH
7.5 Feb 18

A NULL pointer dereference in the component /libsrc/dcrleccd.cc of DCMTK v3.6.9+ DEV allows attackers to cause a Denial

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy