Skip to main content

OFFIS DCMTK CVE-2026-44035

| EUVDEUVD-2026-94938 MEDIUM
Uncontrolled Recursion (CWE-674)
2026-10-08 securin GHSA-wqrm-3wjh-xj38
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 DICOMDIR with deeply chained records
  2. Delivery
    Deliver file to DCMTK user or pipeline
  3. Exploit
    Victim opens file in viewer/dcmgpdir
  4. Execution
    Unbounded recursion in moveRecordToTree() exhausts stack
  5. Impact
    Process crashes, denial of service

Vulnerability Assessment

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

Exploitation requires the victim to open a crafted DICOMDIR file in an application built on DCMTK 3.7.0 (e.g., dcmgpdir or any DCMTK-based media viewer); the malicious file must contain directory records recursively chained through the 'Offset of Referenced Lower-Level Directory Entity' attribute to a depth sufficient to exhaust the stack. No authentication is required (PR:N), but exploitation is bounded by the need for passive user interaction (UI:P) - a user or automated process must actually load the file - and by the local attack vector (AV:L), meaning the attacker must get the crafted file onto the target system or into its import workflow. Impact is limited to a process crash (availability only); there is no code execution, data disclosure, or integrity impact. Affected scope is narrowed to deployments running the vulnerable 3.7.0 release that have not applied commit ca761f7f.

Impact

This is a medium-severity, availability-only denial-of-service issue, and the aggregated signals are consistent rather than conflicting. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) correctly frames it as local, low-complexity, requiring passive user interaction (opening a file), with impact confined entirely to availability (VA:H) and zero confidentiality or integrity impact - matching CWE-674 (uncontrolled recursion → stack exhaustion → crash). Exploitation status is 'no public exploit identified at time of analysis': the input contains no KEV listing and no POC flag, and no EPSS score was provided, so exploitation probability cannot be quantified from the data given. The absence of code-execution or data-exposure potential means that even though triggering the bug is trivial, the worst realistic outcome is a crash of the viewing process. This is therefore a genuine but non-urgent patch-management item rather than a critical priority: it matters most for automated or batch DICOMDIR-processing pipelines where repeated crashes could disrupt service, and far less for interactive single-user viewers. No key signals contradict each other; the main gap is the lack of EPSS/KEV data to gauge real-world exploitation interest.

Exploit ScenarioDerived

An attacker crafts a malicious DICOMDIR file containing a deeply chained sequence of directory records linked through the 'Offset of Referenced Lower-Level Directory Entity' attribute, then delivers it to a victim (e.g., on removable media, as an email attachment, or via a PACS/import workflow). When the victim opens it with dcmgpdir or any DCMTK-based media viewer, moveRecordToTree() recurses once per level until the stack is exhausted and the process crashes. No public exploit code is identified in the provided data, and the local attack vector plus required user interaction (UI:P) means the attacker must get the target to open the file.

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

Stack exhaustion in OFFIS DCMTK 3.7.0 allows an attacker who supplies a crafted DICOMDIR file to crash any application built on the library that opens it, including dcmgpdir and third-party DICOM media viewers. The root cause is uncontrolled recursion (CWE-674) in DcmDicomDir::moveRecordToTree() in dcmdata/libsrc/dcdicdir.cc, which follows a maliciously deep chain of directory records linked through the Offset of Referenced Lower-Level Directory Entity attribute until the process stack is exhausted. The affected vector is local with a user-interaction requirement (AV:L/PR:N/UI:P in the vendor CVSS 4.0 vector; AV:L/AC:L/PR:N/UI:R in the independently assessed CVSS 3.1 vector), impact is availability-only (no code execution, disclosure, or integrity loss), there is no confirmed active exploitation (no CISA KEV listing) and no public exploit identified at time of analysis, and a vendor fix is available as upstream commit ca761f7f3dcaaddaa95be87cf5d736138d7c3a9f.

RemediationAI

The primary fix is the upstream patch in commit ca761f7f3dcaaddaa95be87cf5d736138d7c3a9f, which introduces DICOMDIR_MAX_RECURSION_DEPTH (value 8) in dcmdata/include/dcmtk/dcmdata/dcdicdir.h and enforces it inside moveRecordToTree(), returning EC_NestingDepthLimitExceeded rather than recursing on deeper chains. Vendor-released patch: DCMTK commit ca761f7f3dcaaddaa95be87cf5d736138d7c3a9f (tracked at https://support.dcmtk.org/redmine/issues/1215); because DCMTK is distributed as source, affected consumers must pull the commit or a rebuild of the 3.7.0 branch that includes it and recompile every DCMTK-based binary they ship, including dcmgpdir and any bundled viewers. Until the rebuild is staged, actionable compensating controls are: refuse to open or automatically index DICOMDIR files from untrusted or removable media (this blocks the attack entirely but breaks CD/DVD auto-import workflows); route DICOMDIR parsing through a sandbox or low-privilege worker process with a small stack limit, which converts the crash into a contained worker failure at the cost of added process-management complexity and possible legitimate-abort false positives; and impose strict input validation or pre-scanning that rejects DICOMDIR files whose directory-record chains exceed a small expected depth (0-3), which is effective but requires custom tooling and may reject nonstandard-but-valid media. Note that the issue is availability-only with no code execution, so severity is bounded, and the local attack vector plus required user interaction means the file must first be delivered to and opened by the target application.

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 standard, and DICOMDIR is the media storage directory file that indexes the contents of DICOM media (typically optical media or exported directories) as a hierarchy of Patient, Study, Series, and Instance directory records, CPE cpe:2.3:a:offis:dcmtk:*:*:*:*:*:*:*:* mapping to the library as a whole. Directory records form a logical tree that is serialized as a flat list, where each record points to its next sibling (Offset of the Next Directory Record) and to its first child (Offset of Referenced Lower-Level Directory Entity, tag 0004,1420) by byte offset. DcmDicomDir::convertLinearToTree() reconstructs the in-memory tree via moveRecordToTree(), which recurses once per level of the hierarchy. Because the depth is driven entirely by attacker-controlled offset values in the file, a crafted DICOMDIR containing an arbitrarily long chain of lower-level directory entity references causes one stack frame per link and ultimately stack exhaustion and a process crash - the CWE-674 uncontrolled-recursion class. The upstream fix adds a DICOMDIR_MAX_RECURSION_DEPTH constant of 8 (a well-formed DICOMDIR only reaches depth 0-3 for the patient/study/series/instance hierarchy, with headroom for future extensions), threads a depth counter through linkMRDRtoRecord(), moveRecordToTree(), and convertLinearToTree(), and returns the new error code EC_NestingDepthLimitExceeded instead of recursing further.

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

Attacker supplies a local file the victim must open (AV:L, UI:R); no privileges needed (PR:N); trivial to trigger (AC:L); only a crash results, so C:N/I:N/A:H.

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 recursion in DcmDicomDir::moveRecordToTree() in dcmdata/libsrc/dcdicdir.cc of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted DICOMDIR file with a deeply chained sequence of directory records linked through the Offset of Referenced Lower-Level Directory Entity attribute. Any application that opens the DICOMDIR is affected, including dcmgpdir and media viewers built on DCMTK. The issue is fixed in commit ca761f7f3dcaaddaa95be87cf5d736138d7c3a9f.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Medium
widely used open-source DICOM toolkit, but confined to medical-imaging industry
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