Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted DICOM JSON with deep SQ nesting
-
ExploitReader recurses through parseDataSet/parseElement/parseSequence
-
ExecutionCall stack exhausted
-
ImpactParsing process crashes (denial of service)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
|
| Exploitation Conditions | The target must parse an attacker-supplied DICOM JSON document whose SQ (sequence) values are nested beyond the parser's (pre-patch unbounded) recursion depth - specifically a document processed by DcmJSONReader via the json2dcm tool or any service converting untrusted DICOM JSON, such as a DICOMweb ingestion endpoint. Limiting factors: exploitation requires the victim process to actually ingest and parse attacker-controlled JSON (UI:P / local file handling in the base CVSS), and impact is strictly availability - a single process crash with no code execution, data disclosure, or integrity loss. Network reach depends on deployment: a DICOMweb service exposes this remotely, whereas standalone json2dcm use requires delivering a malicious file to the operator. |
| Impact | This is a genuine but moderate-priority availability issue, not an urgent emergency. All exploitation signals point to low real-world urgency: SSVC reports Exploitation 'none' and Automatable 'no', the CVE is not on CISA KEV, no EPSS score was provided, and no public PoC is referenced - yielding 'no public exploit identified at time of analysis'. The vendor CVSS 4.0 vector (AV:L/AC:L/PR:N/UI:P/VC:N/VI:N/VA:H) confirms the impact is confined to availability (stack exhaustion / process crash) with no confidentiality or integrity effect, consistent with CWE-674 (uncontrolled recursion). A key tension exists in the attack surface: the CVSS vector specifies AV:L (local), matching the named json2dcm command-line tool that parses files locally, yet the description explicitly cites DICOMweb services converting untrusted DICOM JSON - a network-facing scenario that would effectively make this remotely reachable (AV:N) for any PACS/DICOMweb endpoint accepting JSON. Verify your own deployment: if DICOMweb/JSON ingestion is exposed, treat real exposure as higher than the AV:L score implies, though impact remains a crash, not compromise. |
| Exploit ScenarioDerived | An attacker submits a crafted DICOM JSON document containing deeply nested sequence (SQ) values to a target that parses it - either via the json2dcm CLI tool or a DICOMweb service that converts untrusted JSON payloads. The malicious nesting drives unbounded mutual recursion through parseDataSet/parseElement/parseSequence, exhausting the stack and crashing the process. No public exploit is identified at time of analysis, but the crafted-input requirement is trivial to construct. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Stack exhaustion denial of service in OFFIS DCMTK 3.7.0 lets an attacker crash a JSON-parsing process by supplying a crafted DICOM JSON document whose sequence (SQ) values are nested deeply enough to exhaust the call stack through uncontrolled mutual recursion in DcmJSONReader (parseDataSet, parseElement and parseSequence in dcmdata/libsrc/dcjsonrd.cc). The affected components are the json2dcm conversion tool and any service that converts untrusted DICOM JSON, such as DICOMweb ingestion endpoints, with impact limited to availability (process crash) and no code execution, disclosure or integrity loss. No public exploit identified at time of analysis and CISA's SSVC records Exploitation: none, but the flaw is trivially automatable by anyone who can deliver a malicious JSON payload; it is fixed upstream in commit cf955e64c35a1e07ba10698f639d5dcdec53b9d7, which caps sequence nesting at 128 levels.
RemediationAI
Apply the upstream fix, either by cherry-picking or upgrading to a build containing commit cf955e64c35a1e07ba10698f639d5dcdec53b9d7, which introduces DCMJSON_MAX_SEQUENCE_NESTING 128 and returns EC_NestingDepthLimitExceeded for deeper documents; because no tagged release version is confirmed in the supplied data, treat this as an upstream commit fix and verify a vendor release rather than assuming a specific 3.7.x build ships it. Consult the vendor issue at https://support.dcmtk.org/redmine/issues/1225 and the commit diff at https://github.com/DCMTK/dcmtk/commit/cf955e64c35a1e07ba10698f639d5dcdec53b9d7 for integration guidance. If patching is delayed, pre-validate or reject DICOM JSON before it reaches DcmJSONReader by counting nested "SQ" objects and refusing anything beyond a conservative depth (128 or lower), either in the web front end, API gateway, or a shim around json2dcm; legitimate studies with deeply nested functional groups may be rejected, so log and quarantine rather than silently dropping. Run json2dcm and any conversion worker in a low-privilege, sandboxed process with constrained address space and stack (for example ulimit -s and cgroup memory limits), and configure automatic restart with payload-quarantine alerting so a crash becomes an observable, contained event rather than an outage. On DICOMweb deployments, enforce payload size and schema limits at the HTTP layer and restrict ingestion endpoints to authenticated, rate-limited clients; these are compensating controls only and do not remove the underlying recursion defect, which is why the upstream depth-limit patch remains the primary remediation.
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
DICOM JSON is the JSON serialization of DICOM data elements used to exchange studies over DICOMweb and by conversion utilities such as json2dcm. Sequence (SQ) elements may legally contain nested datasets, and DcmJSONReader parses them with three mutually recursive routines: parseDataSet() iterates elements, parseElement() dispatches sequence values, and parseSequence() recurses back into parseDataSet() for each item. Before the fix, no depth counter or nesting limit existed (CWE-674, uncontrolled recursion), so each additional SQ level added stack frames until the thread's stack was exhausted and the process aborted. The upstream patch in dcmdata/include/dcmtk/dcmdata/dcjsonrd.h and dcmdata/libsrc/dcjsonrd.cc threads a size_t depth parameter through all three functions, defines DCMJSON_MAX_SEQUENCE_NESTING 128, and returns EC_NestingDepthLimitExceeded with a DCMDATA_ERROR message when depth exceeds that value; recursion is started at depth 0 from readAndConvertJSONFile(). The CPE entry cpe:2.3:a:offis:dcmtk:*:*:*:*:*:*:*:* identifies DCMTK broadly, with EUVD narrowing the affected release to 3.7.0; the vulnerable code lives in the dcmdata library rather than in a standalone binary, so any application linking DCMTK's JSON reader inherits the weakness. Note the scoring discrepancy between the CVE record (CVSS 4.0 AV:L/PR:N/UI:P, VA:H) and the independent assessment (CVSS 3.1 AV:L/AC:L/PR:N/UI:R, A:H), which agree that availability is the only impacted security property.
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:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Primary vector is local file parsing (json2dcm) requiring the operator to process a crafted file (UI:R), no privileges needed, and impact is availability-only; AV:N would apply if exposed via DICOMweb.
Primary rating from Vendor (securin).
CVSS VectorVendor: securin
DescriptionCVE.org
Uncontrolled mutual recursion between DcmJSONReader::parseDataSet(), DcmJSONReader::parseElement() and DcmJSONReader::parseSequence() in dcmdata/libsrc/dcjsonrd.cc of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted DICOM JSON document with deeply nested sequence (SQ) values. The json2dcm tool and any service that converts untrusted DICOM JSON (for example, DICOMweb payloads) with this reader are affected. The issue is fixed in commit cf955e64c35a1e07ba10698f639d5dcdec53b9d7.
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
Deeply nested DICOM sequence (SQ) elements delivered to a DCMTK 3.7.0-based service drive the parser into unbounded recu
dcmnet in DCMTK before 3.6.9 has a segmentation fault via an invalid DIMSE message. Rated medium severity (CVSS 4.3), th
EUVD-2026-94940
GHSA-w8m4-mhcj-8r75
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB