☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 🐛 CWE-416
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-15062

CVE-2025-15062 Remote Code Execution in Trimble
📅 PUBLISHED: 2026-01-23 03:19 UTC 🔄 UPDATED: 2026-08-12 09:03 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.05%
👁️
0.05% probability
1.3× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1203
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 7.8
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
7.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-15062 is a critical Use-After-Free (UAF) vulnerability in Trimble SketchUp, a widely used 3D modeling application. The flaw resides in the parsing of SKP files, where the software fails to validate the existence of an object before performing operations on it. This allows an attacker to craft a malicious SKP file that, when opened by a user, triggers a use-after-free condition, leading to remote code execution (RCE) in the context of the current process. The vulnerability requires user interaction (opening a malicious file or visiting a malicious page), but no special privileges are needed. With a CVSS score of 7.8, this poses a significant risk to end-users, particularly in design, engineering, and architecture sectors where SketchUp is prevalent. No public exploit code or patch is currently available, but the vulnerability has been reported via ZDI (ZDI-CAN-27769).

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
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 – The attacker must deliver the malicious file to the target system.
  • Attack Complexity (AC): Low – No special conditions required beyond opening the file.
  • Privileges Required (PR): None – No authentication needed.
  • User Interaction (UI): Required – The victim must open the malicious SKP file.
  • Scope (S): Unchanged – The exploit affects only the vulnerable component.
  • Confidentiality (C): High – Full data access possible.
  • Integrity (I): High – Arbitrary code execution allows data modification.
  • Availability (A): High – Code execution can crash or control the system.

Threat Level: High. The vulnerability is remotely exploitable via social engineering (phishing with malicious SKP files) and can lead to full system compromise. The lack of a patch increases the risk.

Deep Dive & Mechanics

The vulnerability is a classic Use-After-Free (UAF) in the SKP file parser of Trimble SketchUp. SKP files are binary format files containing 3D model data, including geometry, materials, and metadata. The parser processes various objects (e.g., entities, layers, components) by allocating memory and referencing pointers.

Root Cause: When parsing a specially crafted SKP file, the parser may free a memory object (e.g., a component instance) but later attempt to access it via a dangling pointer. This occurs because the code does not properly validate that the object still exists before performing operations on it. The attacker can control the freed memory by allocating new objects of the same size, leading to arbitrary code execution.

Attack Flow:

  1. Attacker crafts a malicious SKP file with a corrupted object reference.
  2. Victim opens the file in SketchUp.
  3. The parser frees an object prematurely.
  4. The attacker-controlled data (e.g., via heap spray) occupies the freed memory.
  5. A subsequent operation dereferences the dangling pointer, executing attacker-controlled code.

Technical Details (from ZDI): The specific flaw is in the parsing of SKP file structures. The lack of validation of object existence before use allows an attacker to trigger a use-after-free. This is a common vulnerability class in complex file parsers.

Vulnerable vs. Patched Code

Since no patch is available, we can only describe the vulnerable pattern.

Vulnerable Code Pattern (C++):

// Vulnerable: Object is freed but pointer is not nullified
void ParseSKPObject(SKPObject* obj) {
    if (obj->type == COMPONENT) {
        // Some condition causes free
        delete obj->component;
        // Later, obj->component is used without check
        obj->component->Render(); // Use-After-Free
    }
}

Patched Code Pattern (Hypothetical):

// Patched: Nullify pointer after free and check before use
void ParseSKPObject(SKPObject* obj) {
    if (obj->type == COMPONENT) {
        delete obj->component;
        obj->component = nullptr; // Nullify
    }
    if (obj->component != nullptr) {
        obj->component->Render(); // Safe
    }
}

The patch would need to ensure that after any free operation, the pointer is set to NULL and all subsequent accesses check for NULL.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Trimble SketchUp (any version) installed on a Windows system.
  • Ability to deliver a malicious SKP file (e.g., via email, download).

Exploitation Steps:

  1. Craft Malicious SKP: Use a fuzzer (e.g., AFL, libFuzzer) to generate a malformed SKP file that triggers the UAF. Alternatively, manually modify a valid SKP file using a hex editor to corrupt object references.
  2. Heap Spray: To control the freed memory, include a heap spray payload in the SKP file (e.g., large arrays of data with shellcode).
  3. Deliver File: Send the malicious SKP file to the victim via phishing email or malicious website.
  4. Trigger: Victim opens the file in SketchUp, triggering the UAF and executing shellcode.

Example Payload (Conceptual):

# Python script to generate a malicious SKP file (simplified)
import struct

def create_malicious_skp():
    # Craft a minimal SKP header with corrupted object
    header = b'\x00' * 100  # Placeholder
    # Add heap spray data
    spray = b'\x90' * 1000 + shellcode
    # Corrupt object reference
    corrupt_obj = struct.pack('<I', 0x41414141)  # Dangling pointer
    return header + spray + corrupt_obj

with open('malicious.skp', 'wb') as f:
    f.write(create_malicious_skp())

Note: No public exploit exists; this is a conceptual guide.

Blue Team (Defense)

Detection:

  • Monitor for unusual SketchUp crashes or memory access violations.
  • Use endpoint detection and response (EDR) to detect heap spray patterns.
  • Block SKP files from untrusted sources via email or web gateways.

Mitigation:

  • Disable automatic file preview for SKP files in Windows Explorer.
  • Use application whitelisting to prevent SketchUp from executing untrusted files.
  • Implement user awareness training to avoid opening suspicious SKP files.

Indicators of Compromise (IOCs)

  • File Hashes: (No known samples yet; monitor for new SKP files with unusual sizes or structures)
  • Network: Outbound connections from SketchUp process to unknown IPs (post-exploitation C2).
  • Process: SketchUp.exe spawning child processes (e.g., cmd.exe, powershell.exe).
  • Memory: Heap spray patterns (large NOP sleds) in SketchUp process memory.
  • Registry: Unusual persistence mechanisms (e.g., Run keys) added by shellcode.

Detection Engineering

YARA Rule

rule CVE_2025_15062_SKP_UAF {
    meta:
        description = "Detects malicious SKP files exploiting CVE-2025-15062"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-15062"
    strings:
        $skp_header = { 00 00 00 00 00 00 00 00 } // Placeholder for SKP magic
        $heap_spray = { 90 90 90 90 90 90 90 90 } // NOP sled
        $corrupt_ref = { 41 41 41 41 } // Potential dangling pointer
    condition:
        $skp_header at 0 and ($heap_spray or $corrupt_ref)
}

Sigma Rule

title: Suspicious SketchUp Process Behavior
id: 7b8c9d0e-1f2a-3b4c-5d6e-7f8a9b0c1d2e
status: experimental
description: Detects potential exploitation of CVE-2025-15062 via abnormal SketchUp process activity
author: Valters IT
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\SketchUp.exe'
        CommandLine|contains:
            - 'cmd.exe'
            - 'powershell.exe'
            - 'wscript.exe'
    condition: selection
falsepositives:
    - Legitimate use of command line tools by SketchUp plugins
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CVE-2025-15062 Potential SKP File Download"; flow:to_server,established; content:"|00 00 00 00|"; depth:4; content:".skp"; nocase; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. No Patch Available: As of now, no official patch exists. Monitor Trimble’s security advisories for updates.
  2. User Awareness: Train users not to open SKP files from untrusted sources.
  3. File Blocking: Use email and web gateways to block SKP attachments from external senders.
  4. Application Hardening: Run SketchUp in a sandboxed environment (e.g., Windows Sandbox, AppContainer) to limit impact.
  5. Endpoint Protection: Deploy EDR solutions with behavioral detection for heap spray and process injection.

Long-Term:

  • Apply patches as soon as Trimble releases them.
  • Consider using alternative 3D modeling tools if SketchUp is not critical.
  • Implement strict file upload validation on any web applications that accept SKP files.

Valters IT Signature:
This report was generated by Valters IT Cyber Threat Intelligence Division. For inquiries, contact threatintel@valtersit.com.

👁️ SHODAN DORKS (THREAT HUNTING)

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.

product:"Trimble SketchUp"
"SketchUp" "SKP" file

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-15062/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.