CVE-2015-8979
High · 7.5CVSS
7.5
EPSS
3.9%
Published
Feb 15, 2017
CISA due date
—
Cloudanix analysis
A flaw in older medical imaging software lets anyone on the network crash the system that receives scan images, stopping work until it is restarted or fixed.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Stack-based buffer overflow in parsePresentationContext within storescp allows remote unauthenticated input to overwrite the stack and trigger a segmentation fault.
Why it matters to the business
DICOM storage services can be crashed remotely, interrupting medical image transfer workflows and requiring manual restarts until the service is updated.
How an attack unfolds
An attacker connects to TCP port 4242 and sends an oversized presentation context string that exceeds the fixed buffer in parsePresentationContext, causing immediate process termination; public exploits have been available for years.
How to fix it
Upgrade dcmtk to a version newer than 3.6.0 that contains the corrected parsePresentationContext implementation; if no newer package is available, replace storescp with a maintained DICOM implementation or apply vendor backports.
How to confirm the fix worked
Confirm the running storescp binary version is greater than 3.6.0; perform a controlled connection with an oversized presentation context and verify the process no longer crashes.
Typical attack path
- Scan for hosts listening on TCP 4242
- Send crafted oversized presentation context PDU
- Trigger segmentation fault and service crash
- Repeat to maintain denial of service
How to detect it
Review system and application logs for abrupt storescp terminations around the time of unexpected inbound connections to TCP 4242; correlate with network flow data showing single-packet or short-session connections from untrusted sources.
- storescp segmentation fault
- parsePresentationContext
- TCP 4242 oversized PDU
What your security team should do
- Immediately restrict inbound access to TCP 4242 to trusted imaging systems only
- Inventory all deployments of dcmtk storescp and schedule upgrades
- Monitor for service restarts or crashes on DICOM hosts
- Plan migration to a supported DICOM toolkit if upstream fixes are unavailable
The record
Stack-based buffer overflow in the parsePresentationContext function in storescp in DICOM dcmtk-3.6.0 and earlier allows remote attackers to cause a denial of service (segmentation fault) via a long string sent to TCP port 4242.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | dcmtk | 0 | 3.6.1~20160216-2 |
| Debian:12 | dcmtk | 0 | 3.6.1~20160216-2 |
| Debian:13 | dcmtk | 0 | 3.6.1~20160216-2 |
| Debian:14 | dcmtk | 0 | 3.6.1~20160216-2 |
| Debian:7 | dcmtk | 0 | 3.6.0-12+deb7u1 |
| Debian:8 | dcmtk | 0 | 3.6.0-15+deb8u1 |
| Ubuntu:14.04:LTS | dcmtk | 0 | 3.6.0-15+deb8u1build0.14.04.1 |
| Ubuntu:Pro:16.04:LTS | dcmtk | 0 | 3.6.1~20150924-5ubuntu0.1~esm1 |
| Ubuntu:Pro:18.04:LTS | dcmtk | 0 | 3.6.2-3ubuntu0.1~esm1 |
| Ubuntu:Pro:20.04:LTS | dcmtk | 0 | 3.6.4-2.1ubuntu0.1~esm1 |
| Ubuntu:Pro:22.04:LTS | dcmtk | 0 | 3.6.6-5ubuntu0.1~esm1 |
Related vulnerabilities
- CVE-2024-52333 An improper array index validation vulnerability exists in the determineMinMax… Also affects dcmtk
- CVE-2024-47796 An improper array index validation vulnerability exists in the nowindow functionality of… Also affects dcmtk
- CVE-2024-28130 An incorrect type conversion vulnerability exists in the… Also affects dcmtk
- CVE-2026-112108 A vulnerability was determined in ztxz16 fastllm up to 0.1.8.2. CWE-119
- CVE-2026-112073 A vulnerability was identified in Tencent ncnn up to 44b02dabdcf97499281a4692ebd65bad73dc… CWE-119
- CVE-2026-90831 A vulnerability was detected in GNU Binutils 2.47. CWE-119
- CVE-2026-90804 A vulnerability was detected in GNU Binutils 2.47. CWE-119
- CVE-2026-90803 A security vulnerability has been detected in GNU Binutils 2.47. CWE-119