CVE-2023-32132
Executive Summary
CVE-2023-32132 is a critical out-of-bounds write vulnerability in Sante DICOM Viewer Pro, a medical imaging application used for viewing DICOM files. The flaw resides in the parsing of DCM images, where crafted data can trigger a write past the end of an allocated buffer. This allows remote attackers to execute arbitrary code in the context of the current process, but requires user interaction (e.g., opening a malicious DCM file or visiting a malicious page). The vulnerability has a CVSS score of 7.8 (High) and is classified under CWE-787 (Out-of-bounds Write). No public exploit or patch is currently available, making it a high-priority target for defensive monitoring.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It affects a standalone desktop application (Sante DICOM Viewer Pro) distributed via vendor channels. No supply chain implications are identified.
CVSS Breakdown & Threat Level
- CVSS Score: 7.8 (High)
- Attack Vector: Local (requires user to open a malicious file)
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: Required
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: High
- Availability Impact: High
Threat Level: High. Exploitation could lead to full system compromise within the user’s session, potentially exposing sensitive medical data.
Deep Dive & Mechanics
The vulnerability exists in the DCM image parsing module of Sante DICOM Viewer Pro. When processing a specially crafted DICOM file, the parser fails to validate the size of an allocated buffer before writing data. An attacker can embed a malicious DICOM tag or pixel data that causes a write operation to exceed the buffer boundary, corrupting adjacent memory. This out-of-bounds write can be leveraged to overwrite critical data structures, such as function pointers or return addresses, leading to arbitrary code execution.
Root Cause: Lack of bounds checking in the DCM parsing routine, specifically when handling pixel data or tag values with manipulated length fields.
Attack Vector: Remote, but requires user interaction. An attacker can host a malicious DCM file on a website or send it via email. When the victim opens the file in Sante DICOM Viewer Pro, the exploit triggers.
Impact: Full compromise of the application process, allowing the attacker to execute arbitrary commands, exfiltrate data, or install malware.
Vulnerable vs. Patched Code
No official patch is available. The vulnerable code likely resides in a function similar to:
void parse_dcm_pixel_data(char *buffer, size_t size) {
char *pixel_data = malloc(size);
// No bounds check on size
memcpy(pixel_data, buffer, size); // Out-of-bounds write if size > allocated
}
A patched version would include validation:
void parse_dcm_pixel_data(char *buffer, size_t size) {
size_t max_size = 1024; // Example limit
if (size > max_size) {
// Handle error
return;
}
char *pixel_data = malloc(max_size);
memcpy(pixel_data, buffer, size);
}
Exploitation & Lab Setup
Red Team
No public exploit code is available. However, a proof-of-concept can be developed by crafting a DCM file with a manipulated tag length field. Example steps:
- Create a valid DCM file with a large pixel data length (e.g., 0xFFFFFFFF).
- Embed shellcode in the pixel data region.
- Use a tool like
dicomtoolsor a hex editor to modify the DICOM header. - Host the file on a web server or send via email.
Lab Setup:
- Install Sante DICOM Viewer Pro (vulnerable version) on a Windows VM.
- Use a debugger (e.g., x64dbg) to monitor memory writes.
- Open the malicious DCM file and observe the crash or code execution.
Blue Team
- Monitor for unusual DICOM file sizes or malformed headers.
- Use application whitelisting to block unknown executables.
- Deploy endpoint detection and response (EDR) to detect memory corruption.
Indicators of Compromise (IOCs)
- File Hashes: (Example)
sha256: 5d41402abc4b2a76b9719d911017c592 - Network: Connections to known malicious IPs after exploitation.
- Process: Sante DICOM Viewer Pro crashing or spawning child processes (e.g.,
cmd.exe). - Registry: Unusual registry modifications in
HKCU\Software\Sante.
Detection Engineering
YARA Rule
rule CVE_2023_32132_DICOM_OOB_Write {
meta:
description = "Detects malicious DICOM files exploiting CVE-2023-32132"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2023-32132"
strings:
$dicom_header = "DICM" at 128
$large_length = { FF FF FF FF } // Example large length field
condition:
$dicom_header and $large_length
}
Sigma Rule
title: Sante DICOM Viewer Pro Out-of-Bounds Write Exploit
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects potential exploitation of CVE-2023-32132 via process crash or abnormal memory access
author: Valters IT
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: 'SanteDicomViewerPro.exe'
CommandLine|contains: '.dcm'
condition: selection
falsepositives:
- Legitimate large DICOM files
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2023-32132 Sante DICOM Viewer Pro OOB Write"; flow:to_server,established; content:"DICM"; offset:128; depth:4; content:"|FF FF FF FF|"; within:100; classtype:attempted-user; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Disable automatic opening of DICOM files in Sante DICOM Viewer Pro. Use alternative viewers if possible.
- Long-term: Monitor vendor for patches. If no patch is released, consider replacing the software.
- User Training: Educate users not to open DICOM files from untrusted sources.
- Network Controls: Block inbound/outbound connections to unknown IPs from the application.
Valters IT
Securing Digital Frontiers
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.