Skip to main content

OFFIS DCMTK CVE-2026-44036

| EUVDEUVD-2026-94939 MEDIUM
Uncontrolled Recursion (CWE-674)
2026-10-08 securin GHSA-hch2-45m4-65gq
6.8
CVSS 4.0 · Vendor: securin
View

Attack ChainAIDerived

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

  1. Access
    Craft XML with deeply nested sequence/item elements
  2. Exploit
    Deliver file to xml2dcm or DCMTK-based converter
  3. Execution
    Trigger unbounded mutual recursion in parser
  4. Impact
    Exhaust call stack and crash process (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
Exploitation Conditions

Exploitation requires that the vulnerable DCMTK 3.7.0 XML-to-DICOM conversion code (xml2dcm.cc, via the xml2dcm tool or any embedding application) be invoked on attacker-controlled XML input. The specific trigger is an XML document with sequence (<sequence>) and item elements nested more deeply than the call stack can sustain, driving the unbounded mutual recursion between parseDataSet() and parseSequence(). LIMITING FACTORS: the official vector is LOCAL (AV:L) with passive user interaction (UI:P), meaning a user or service must be induced to process the malicious file - it is not self-propagating; impact is confined to a process crash (availability) with no code execution, data disclosure, or integrity loss; only DCMTK 3.7.0 is confirmed affected, and the fixed commit adds a 128-level nesting cap. Risk rises specifically where an unattended service converts untrusted XML automatically, which would weaken the local/user-interaction constraints.

Impact

This is a denial-of-service-only flaw (CWE-674 uncontrolled recursion) with a moderate vendor CVSS 4.0 score of 6.8. The supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) tells a consistent story: no confidentiality or integrity impact (VC:N/VI:N), availability-only impact (VA:H), and a LOCAL attack vector requiring passive user interaction (UI:P) - i.e. a victim or service must be induced to convert the attacker's XML file. No EPSS score, no POC, and no CISA KEV listing were provided, so exploitation probability signals are absent; the only exploitation status supportable from the data is 'no public exploit identified at time of analysis.' The signals are internally consistent rather than conflicting, but one nuance deserves scrutiny: the vendor chose AV:L/UI:P (modeling the xml2dcm CLI where an operator runs the conversion), yet the description explicitly warns that 'any service that converts untrusted XML to DICOM with this code' is affected - a network-facing automated conversion service would effectively raise this toward AV:N/UI:N and materially increase real-world exposure. Verify the actual deployment mode with the affected integrator. Net: this is a real but bounded issue - a crash/DoS, not RCE or data exposure - and should be prioritized as a routine patch rather than an emergency, higher only where DCMTK's XML-to-DICOM path is exposed to untrusted input in an unattended service.

Exploit ScenarioDerived

An attacker crafts a malicious XML file containing thousands of deeply nested DICOM sequence and item elements and gets it processed by the xml2dcm tool or an application embedding DCMTK's XML-to-DICOM converter. The mutual recursion between parseDataSet() and parseSequence() consumes the call stack until it is exhausted, crashing the process and denying service. No public exploit code is identified at time of analysis, but the crafted-input technique is straightforward; exploitation requires the victim to actually convert the attacker-supplied file (local vector, passive user interaction).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% 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 <sequence> and <item> elements in a crafted XML file drive unbounded mutual recursion between DcmXMLParseHelper::parseDataSet() and DcmXMLParseHelper::parseSequence() in OFFIS DCMTK 3.7.0's XML-to-DICOM converter, exhausting the call stack and crashing the process (CWE-674, denial of service only). The vulnerable code path is reached by the xml2dcm command-line tool and by any service or application that embeds DCMTK 3.7.0 to convert untrusted XML into DICOM; per the vendor vector the attack is unauthenticated (PR:N) but local (AV:L) and requires the victim to process the malicious file (UI:P), so risk is highest for automated, unattended conversion pipelines. Impact is limited to availability - no code execution, data disclosure, or integrity loss - and no public exploit identified at time of analysis, nor is the issue listed in CISA KEV; the upstream fix introduces a hard 128-level nesting cap.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - the definitive remediation is commit 87f256d73e30656a822bf7d76d1cf1d9bb693954, which enforces DCMXML_MAX_SEQUENCE_NESTING of 128 and returns EC_NestingDepthLimitExceeded on over-deep input; apply this commit or upgrade to the first DCMTK release that contains it (confirm the release tag against https://support.dcmtk.org/redmine/issues/1224 before deploying, as no tagged patched version is named in the available data). Until then, treat XML-to-DICOM conversion as hostile input handling: place the converter behind a pre-parse sanitizer that rejects or truncates documents whose sequence/item nesting exceeds a few tens of levels (cheap and effective, but requires an extra processing stage and may reject legitimate deeply structured studies), or run xml2dcm and embedding services in a subprocess with a reduced stack limit (e.g. ulimit -s) and a supervisor that restarts on crash (contains the blast radius to one process but converts a crash into a restart loop and does not stop the recursion). Do not expose an unattended service that automatically converts untrusted XML to DICOM with unmodified 3.7.0 code, since that removes the local/user-interaction constraints the vendor vector assumes. Network filtering or authentication is not a substitute here, because the trigger is file content rather than a network protocol.

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

DCMTK is the OFFIS open-source implementation of the DICOM medical imaging standard; the affected component is the XML-to-DICOM import library in dcmdata/libdcxml (xml2dcm.cc) with the public interface in dcmdata/include/dcmtk/dcmdata/dcmxml/xml2dcm.h. The DcmXMLParseHelper class walks a libxml2 DOM tree and converts elements into DICOM data elements; parsing a DICOM sequence element recursively calls parseDataSet() for each item, and parseDataSet() in turn calls parseSequence() when it encounters a nested sequence, producing uncontrolled mutual recursion (CWE-674) with no depth bound in 3.7.0. An XML document with sufficiently deep <sequence>/<item> nesting therefore consumes stack frames until stack exhaustion and process termination. The upstream commit 87f256d73e30656a822bf7d76d1cf1d9bb693954 fixes this by adding a depth parameter threaded through parseElement(), parseSequence(), parseMetaHeader(), and parseDataSet(), defining DCMXML_MAX_SEQUENCE_NESTING 128, and returning a new error code EC_NestingDepthLimitExceeded once the limit is exceeded (the fix also returns immediately from the item loop instead of breaking, and suppresses repeated depth-limit warnings). CPE data (cpe:2.3:a:offis:dcmtk:*:*:*:*:*:*:*:*) is version-agnostic, but the description and ENISA EUVD-2026-94939 both scope the flaw to DCMTK 3.7.0.

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 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Victim must convert an attacker-supplied file so AV:L/UI:R; no privileges needed (PR:N); impact is a crash only, hence A:H with C:N/I:N and unchanged scope.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 5.5 MEDIUM

Primary rating from Vendor (securin).

CVSS VectorVendor: securin

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
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 mutual recursion between DcmXMLParseHelper::parseDataSet() and DcmXMLParseHelper::parseSequence() in the XML-to-DICOM converter (dcmdata/libdcxml/xml2dcm.cc) of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted XML file with deeply nested sequence and item elements. The xml2dcm tool and any service that converts untrusted XML to DICOM with this code are affected. The issue is fixed in commit 87f256d73e30656a822bf7d76d1cf1d9bb693954.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Medium
de facto DICOM toolkit, widely embedded but healthcare-imaging-specific
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
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-2026-44031 HIGH
8.7 Oct 08

Deeply nested DICOM sequence (SQ) elements delivered to a DCMTK 3.7.0-based service drive the parser into unbounded recu

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

Vendor StatusVendor

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