CVE-2025-11465
Executive Summary
CVE-2025-11465 is a critical use-after-free vulnerability in Ashlar-Vellum Cobalt, a CAD/CAM software application. The flaw resides in the parsing of CO files, where the software fails to validate the existence of an object before performing operations on it. This allows an attacker to execute arbitrary code in the context of the current process by tricking a user into opening a malicious CO file or visiting a crafted web page. With a CVSS score of 7.8, the vulnerability requires user interaction but poses a high risk to confidentiality, integrity, and availability. No public exploit code or patch is currently available, and the vendor’s status remains unknown.
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 (Ashlar-Vellum Cobalt) and does not involve software supply chain dependencies.
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: Local (requires opening a malicious file)
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: Required (victim must open the file)
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: High
- Availability Impact: High
- Threat Level: High – Exploitation could lead to full system compromise, but user interaction limits mass exploitation.
Deep Dive & Mechanics
The vulnerability is a classic use-after-free (UAF) in the CO file parser of Ashlar-Vellum Cobalt. When parsing a specially crafted CO file, the software allocates memory for an object, then later frees it without properly nullifying the pointer. Subsequent operations on the freed memory allow an attacker to control the execution flow.
Root Cause: Lack of validation of object existence before use. The parser does not check if a pointer is still valid after a free operation, leading to a dangling pointer.
Exploitation Path:
- Attacker crafts a malicious CO file with specific structures that trigger a free operation on an object.
- The attacker then allocates a new object (e.g., via heap spray) that occupies the freed memory.
- The parser uses the dangling pointer, now pointing to attacker-controlled data.
- This can lead to arbitrary code execution by overwriting function pointers or other critical data.
Affected Component: CO file parser (file format used by Ashlar-Vellum Cobalt).
Vulnerable vs. Patched Code
Since no patch is available, a hypothetical fix would involve:
Vulnerable Code (C-like pseudocode):
void parse_object(CO_FILE *file) {
Object *obj = malloc(sizeof(Object));
// ... parse data into obj ...
if (some_condition) {
free(obj);
}
// Use obj without checking if freed
process_object(obj); // Use-after-free
}
Patched Code (Hypothetical):
void parse_object(CO_FILE *file) {
Object *obj = malloc(sizeof(Object));
// ... parse data into obj ...
if (some_condition) {
free(obj);
obj = NULL; // Nullify pointer
}
if (obj != NULL) {
process_object(obj); // Safe
}
}
Exploitation & Lab Setup
Red Team (Exploitation)
No public exploit code is available. However, a proof-of-concept could be developed as follows:
- Setup: Install Ashlar-Vellum Cobalt on a Windows VM.
- Craft Malicious CO File: Use a fuzzer (e.g., AFL) to generate a CO file that triggers the UAF. Alternatively, manually edit a valid CO file to cause a free operation followed by a use.
- Heap Spray: Allocate controlled data in the freed memory region (e.g., via JavaScript in a browser if the file is opened via a web page, or via a helper DLL).
- Trigger: Open the malicious CO file in Cobalt.
- Code Execution: Overwrite a function pointer with a shellcode address.
Example (Hypothetical):
# Python script to craft malicious CO file (simplified)
import struct
def craft_malicious_co():
# CO file header (simplified)
header = b'\x00' * 64
# Trigger free on object at offset 0x100
payload = header
payload += struct.pack('<I', 0xDEADBEEF) # Dangling pointer target
with open('malicious.co', 'wb') as f:
f.write(payload)
craft_malicious_co()
Blue Team (Defense)
- Detection: Monitor for unusual process behavior in Ashlar-Vellum Cobalt (e.g., crashes, memory access violations).
- Prevention: Use application whitelisting to block unknown CO files. Enable ASLR and DEP.
- Mitigation: Isolate the application in a sandbox or virtual environment.
Indicators of Compromise (IOCs)
- File Hashes (SHA256): (No known samples)
- Network Indicators: None (local file exploitation)
- Process Anomalies: Cobalt.exe crashes or access violations.
- Registry Keys: N/A
- YARA Rule: See Detection Engineering.
Detection Engineering
YARA Rule
rule CVE_2025_11465_Ashlar_Vellum_CO_UAF {
meta:
description = "Detects malicious CO files targeting CVE-2025-11465"
author = "Valters IT"
date = "2025-04-01"
reference = "CVE-2025-11465"
strings:
$co_magic = { 43 4F 46 46 } // "COFF" magic bytes (example)
$suspicious_offset = { DE AD BE EF } // Example pattern
condition:
$co_magic at 0 and $suspicious_offset
}
Sigma Rule
title: CVE-2025-11465 Ashlar-Vellum Cobalt CO File Use-After-Free
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects exploitation attempts of CVE-2025-11465 via process crashes or memory errors
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\Cobalt.exe'
CommandLine|contains: '.co'
condition: selection
falsepositives:
- Legitimate CO file usage
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-11465 Ashlar-Vellum Cobalt CO File UAF"; flow:to_server,established; content:"COFF"; offset:0; depth:4; content:"|DE AD BE EF|"; within:100; classtype:attempted-user; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Disable automatic opening of CO files. Use file reputation services to scan CO files before opening.
- Vendor Patch: Await official patch from Ashlar-Vellum. If no patch is forthcoming, consider migrating to alternative CAD software.
- Workaround: Use a sandbox or virtual machine to open untrusted CO files.
- Monitoring: Deploy YARA/Sigma rules to detect malicious CO files and process anomalies.
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.