Skip to main content

OFFIS DCMTK CVE-2026-44034

| EUVDEUVD-2026-94937 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-08 securin GHSA-mmr5-x4mp-rpf4
4.8
CVSS 4.0 · Vendor: securin
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted RLE DICOM file
  2. Exploit
    Victim app calls getUncompressedFrame()
  3. Execution
    decodeFrame() copies 64 bytes past fragment
  4. Impact
    Read 63 bytes adjacent heap or crash

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 the victim application to decode RLE Lossless DICOM pixel data via the frame-by-frame path - specifically DcmRLECodecDecoder::decodeFrame(), reached through APIs like DcmPixelData::getUncompressedFrame(). The malicious input must be an RLE Lossless DICOM file whose pixel-data fragment is shorter than the 64-byte RLE header. Key LIMITING factors: the attack is local and needs passive user interaction (a user or automated pipeline must open/process the attacker's file); applications using the sibling decode() path - including the bundled dcmdrle command-line tool - are NOT affected because decode() already performs the length check; and only DCMTK 3.7.0 integrations lacking the commit-45469f3c fix are vulnerable.

Impact

This is a genuinely low-to-moderate priority issue, not a high-urgency flaw. The vendor-provided CVSS 4.0 vector (AV:L/AC:L/PR:N/UI:P/VC:L/VI:N/VA:L) describes a local attack vector requiring passive user interaction (a victim application must process an attacker-supplied file), yielding only a low confidentiality impact (up to 63 bytes of adjacent heap) and low availability impact (a crash) - hence the 4.8 base score, which is accurate for the technical impact. There is no public exploit identified at time of analysis and no CISA KEV listing, so no active exploitation is indicated. No EPSS score or SSVC decision data was provided in the input, so exploitation probability and automatability cannot be quantified here. The attack vector is correctly LOCAL rather than network: exploitation hinges on getting a crafted DICOM file into an application that uses the frame-by-frame decode path, not on a remote service. The impact is self-consistent with the description (bounded 63-byte over-read plus potential crash), so there is no conflict between the vector and the narrative. Bottom line: a well-characterized memory-safety bug with a clear patch, worth remediating in medical-imaging software supply chains but not an emergency.

Exploit ScenarioDerived

An attacker crafts a malicious RLE Lossless DICOM file whose pixel-data fragment is shorter than the mandatory 64-byte RLE header. A victim runs a medical-imaging application that decodes images frame by frame (e.g., via DcmPixelData::getUncompressedFrame()) and opens the file, causing the decoder to copy 64 bytes from an under-sized buffer. This leaks up to 63 bytes of adjacent heap memory into the decoded output or crashes the application; no public exploit code is identified at time of analysis.

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

A heap-based out-of-bounds read in OFFIS DCMTK 3.7.0's DcmRLECodecDecoder::decodeFrame() allows unauthenticated local attackers to read up to 63 bytes of adjacent heap memory or cause a crash by tricking a victim application into decoding a crafted RLE Lossless DICOM file whose pixel data fragment is shorter than the 64-byte RLE header. Exploitation requires user interaction to open or process the malicious file and only affects applications using the frame-by-frame decoding path (e.g., via DcmPixelData::getUncompressedFrame()); the dcmdrle command-line tool is not affected. The issue is fixed in commit 45469f3c30037e9c7159290e4bb74cd7b3b9ef1d, and no public exploit code has been identified at time of analysis.

RemediationAI

Apply commit 45469f3c30037e9c7159290e4bb74cd7b3b9ef1d or upgrade to a DCMTK release containing this fix once available. Since no tagged release is confirmed, system integrators should monitor the DCMTK project for a patched version. Until then, mitigate by avoiding frame-by-frame RLE decoding of untrusted DICOM files (use the dcmdrle tool or other decode path that performs the length check where feasible). If frame-by-frame decoding is necessary, pre-validate that RLE pixel data fragments are at least 64 bytes before passing them to DCMTK, though this may not be possible in all application architectures. Restrict processing of DICOM files to trusted sources, as exploitation requires user interaction. See vendor advisory at https://support.dcmtk.org/redmine/issues/1213 and the patch commit for details.

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 a widely used implementation of the DICOM standard for medical imaging. The DcmRLECodecDecoder class handles RLE Lossless compression, a simple lossless scheme specified by DICOM. The decodeFrame() method processes individual frames and copies a 64-byte RLE header from the input pixel data fragment without first verifying that the fragment length is at least 64 bytes. This missing bounds check (CWE-125: Out-of-bounds Read) causes the function to read up to 63 bytes past the end of the heap buffer allocated for the fragment. The sibling decode() method includes the necessary length check and is therefore not vulnerable; the dcmdrle tool uses decode() and remains safe. The vulnerability affects applications that decompress RLE images frame by frame, such as those calling DcmPixelData::getUncompressedFrame(). The fix in commit 45469f3c adds a check that returns an error (EC_CannotChangeRepresentation) when the fragment length is less than 64 bytes.

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

Local file-processing vector (AV:L) needs a victim to open a crafted file (UI:R), no privileges (PR:N); impact is a bounded 63-byte heap over-read (C:L) and possible crash (A:L), no integrity effect.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
Red Hat 4.4 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
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A heap-based out-of-bounds read in DcmRLECodecDecoder::decodeFrame() in dcmdata/libsrc/dcrleccd.cc of OFFIS DCMTK 3.7.0 allows an attacker to read up to 63 bytes of adjacent heap memory, or cause a crash, via a crafted RLE Lossless DICOM file whose pixel data fragment is shorter than the 64-byte RLE header. The function copies 64 bytes without checking the fragment length, a check that the sibling function decode() already performs. Applications that decode RLE images frame by frame (for example, through DcmPixelData::getUncompressedFrame()) are affected. The dcmdrle command-line tool uses decode() and is not affected. The issue is fixed in commit 45469f3c30037e9c7159290e4bb74cd7b3b9ef1d.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Medium
DICOM toolkit widely embedded in medical imaging software, not general IT
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

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

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.

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