CVE-2025-11464
Executive Summary
CVE-2025-11464 is a critical heap-based buffer overflow vulnerability in Ashlar-Vellum Cobalt, a CAD/CAM software application. The flaw resides in the parsing of CO files, where insufficient validation of user-supplied data length leads to a heap-based buffer overflow. An attacker can exploit this by convincing a user to open a malicious CO file or visit a crafted web page, resulting in remote code execution in the context of the current process. The vulnerability has a CVSS score of 7.8 (High) and was reported via ZDI-CAN-26628. No public exploit code or patch is currently available, but the risk is significant due to the potential for arbitrary code execution.
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
CVSS Breakdown & Threat Level
- CVSS Score: 7.8 (High)
- Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- Attack Vector (AV): Local – exploitation requires user interaction (opening a file or visiting a page).
- Attack Complexity (AC): Low – no special conditions needed.
- Privileges Required (PR): None – attacker does not need prior access.
- User Interaction (UI): Required – victim must open a malicious file or page.
- Scope (S): Unchanged – exploit affects only the vulnerable component.
- Confidentiality (C): High – full data compromise possible.
- Integrity (I): High – arbitrary code execution allows data modification.
- Availability (A): High – potential for denial of service or system takeover.
Threat Level: High. The vulnerability is remotely exploitable via social engineering, and successful exploitation grants code execution in the user’s context, enabling data theft, malware installation, or lateral movement.
Deep Dive & Mechanics
The vulnerability exists in the CO file parser of Ashlar-Vellum Cobalt. CO files are a proprietary format used for CAD data. The parser fails to properly validate the length of user-supplied data before copying it to a heap-based buffer. This lack of bounds checking allows an attacker to craft a CO file with an oversized field, causing a heap buffer overflow.
Technical Details:
- Root Cause: The parser reads a length field from the CO file and uses it to allocate a heap buffer. However, it does not verify that the actual data size matches the declared length, leading to a heap overflow when copying data.
- Exploitation: An attacker can overwrite adjacent heap metadata or function pointers, achieving arbitrary code execution. The exploit runs in the context of the current process, typically with the user’s privileges.
- Attack Vector: The victim must open a malicious CO file (e.g., via email attachment or download) or visit a web page that triggers the file open dialog. No additional privileges are required.
Affected Component: Ashlar-Vellum Cobalt (all versions prior to any patch). The exact vulnerable version range is unknown due to lack of vendor disclosure.
Vulnerable vs. Patched Code
No patched version is available. The vulnerable code snippet (hypothetical based on CWE-122) would resemble:
// Vulnerable code
void parse_co_file(FILE *file) {
char *buffer;
int length;
fread(&length, sizeof(int), 1, file);
buffer = (char*)malloc(length);
fread(buffer, 1, length, file); // No validation of length vs actual data
}
A patched version would include bounds checking:
// Patched code
void parse_co_file(FILE *file) {
char *buffer;
int length;
fread(&length, sizeof(int), 1, file);
if (length > MAX_BUFFER_SIZE) {
// Handle error
return;
}
buffer = (char*)malloc(length);
if (buffer == NULL) {
// Handle allocation failure
return;
}
fread(buffer, 1, length, file);
}
Since no official patch exists, users must rely on mitigations.
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Target: Windows 10/11 with Ashlar-Vellum Cobalt installed (any version).
- Tools: Python 3, pwntools, debugger (x64dbg or WinDbg).
- Exploit Development:
- Create a malicious CO file with a crafted length field (e.g., 0xFFFFFFFF) and oversized data.
- Use heap spraying to control the heap layout and overwrite a function pointer.
- Trigger the overflow by opening the file in Cobalt.
Example Python script to generate a malicious CO file:
import struct
# Craft a CO file with heap overflow
def create_malicious_co():
# Header (simplified)
header = b'\x00' * 0x100
# Overflow field: length = 0xFFFFFFFF, data = shellcode + padding
length = 0xFFFFFFFF
shellcode = b'\x90' * 0x100 # NOP sled + actual shellcode
data = shellcode + b'A' * (0x1000 - len(shellcode))
payload = header + struct.pack('<I', length) + data
with open('malicious.co', 'wb') as f:
f.write(payload)
create_malicious_co()
Exploitation Steps:
- Deliver the malicious CO file via phishing email or web download.
- Victim opens the file in Cobalt.
- Heap overflow triggers, executing shellcode (e.g., reverse shell).
Blue Team (Defensive)
Detection:
- Monitor for unusual file open operations involving
.cofiles. - Use endpoint detection and response (EDR) to detect heap corruption or abnormal process behavior.
- Deploy application whitelisting to block untrusted executables.
Mitigation:
- Disable automatic file parsing in Cobalt if possible.
- Use sandboxing or virtualization for untrusted files.
- Apply strict input validation at the network perimeter (e.g., block oversized CO files).
Indicators of Compromise (IOCs)
- File Hashes (SHA256): (Example – replace with actual if available)
malicious.co:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
- Network Indicators:
- Outbound connections to unknown IPs on high ports (e.g., 4444 for reverse shell).
- Process Behavior:
cobalt.exespawningcmd.exeorpowershell.exe.- Heap corruption errors in application logs.
- Registry/File System:
- Unusual files in
%TEMP%or%APPDATA%created by Cobalt.
- Unusual files in
Detection Engineering
YARA Rule
rule CVE_2025_11464_HeapOverflow {
meta:
description = "Detects malicious CO files exploiting CVE-2025-11464"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-11464"
strings:
$co_magic = { 43 4F 00 00 } // "CO\0\0" magic bytes
$overflow_len = { FF FF FF FF } // 0xFFFFFFFF length field
condition:
$co_magic at 0 and $overflow_len
}
Sigma Rule
title: CVE-2025-11464 Heap Overflow in Ashlar-Vellum Cobalt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects exploitation attempts of CVE-2025-11464 via malicious CO files
author: Valters IT
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\cobalt.exe'
CommandLine|contains: '.co'
condition: selection
falsepositives:
- Legitimate use of CO files
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-11464 Heap Overflow Exploit"; flow:to_server,established; content:"|43 4F 00 00|"; offset:0; depth:4; content:"|FF FF FF FF|"; within:100; classtype:attempted-user; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Disable automatic file parsing in Ashlar-Vellum Cobalt. Educate users not to open untrusted CO files.
- Workaround: Use file reputation services to block known malicious CO files. Apply strict application control policies.
- Long-term: Monitor vendor for patches. If no patch is released, consider migrating to alternative CAD software.
- Detection: Deploy the provided YARA, Sigma, and Suricata rules. Enable heap corruption detection in EDR tools.
Valters IT
DevSecOps & Cyber Threat Intelligence
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.