☠️
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-2024-9729

CVE-2024-9729 Remote Code Execution in Trimble
📅 PUBLISHED: 2024-11-22 20:52 UTC 🔄 UPDATED: 2026-08-21 19:37 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.57%
👁️
0.57% probability
14.2× above the median CVE
Tier: ELEVATED
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-2024-9729 is a critical Use-After-Free (UAF) vulnerability in Trimble SketchUp Viewer, a widely used 3D modeling and viewing 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), and has a CVSS score of 7.8 (High). No public exploit code or patch is currently available, but the risk is significant due to the widespread use of SketchUp in architecture, engineering, and construction industries.

⚡ 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

Supply Chain & Package Security

This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It affects a standalone desktop application (Trimble SketchUp Viewer). No supply chain implications are identified.

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 user to open 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 compromise of the victim's system, including data theft, malware installation, or lateral movement within a network.

Deep Dive & Mechanics

The vulnerability is a classic Use-After-Free (CWE-416) in the SKP file parsing routine of Trimble SketchUp Viewer. SKP files are binary format files containing 3D model data, including geometry, textures, and metadata. The parsing process involves allocating memory for various objects (e.g., vertices, faces, materials) and then referencing them later.

The flaw occurs when the parser frees a memory object (e.g., a vertex buffer) but continues to hold a pointer to it. If an attacker crafts an SKP file that triggers this premature free, the freed memory can be reallocated by another part of the application or by the attacker's controlled data. When the original pointer is dereferenced, the attacker can control the execution flow, leading to arbitrary code execution.

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.

Attack Vector: An attacker sends a malicious SKP file via email, download link, or web page. The victim opens the file in SketchUp Viewer, triggering the UAF.

Impact: Remote code execution in the context of the current user. The attacker can then install malware, exfiltrate data, or pivot to other systems.

Vulnerable vs. Patched Code

Since no patch is available, we can only describe the vulnerable pattern. A typical vulnerable code snippet (pseudocode) might look like:

// Vulnerable code
void ParseSKPObject(SKPObject* obj) {
    // Allocate and parse
    VertexBuffer* vb = new VertexBuffer();
    ParseVertices(obj, vb);
    
    // Some condition causes early free
    if (obj->type == SPECIAL) {
        delete vb;  // Free the buffer
    }
    
    // Later, use the freed pointer
    vb->Transform();  // Use-After-Free!
}

A patched version would check if the pointer is still valid before use:

// Patched code
void ParseSKPObject(SKPObject* obj) {
    VertexBuffer* vb = new VertexBuffer();
    ParseVertices(obj, vb);
    
    if (obj->type == SPECIAL) {
        delete vb;
        vb = nullptr;  // Set to null after free
    }
    
    if (vb != nullptr) {
        vb->Transform();  // Safe
    }
}

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Trimble SketchUp Viewer (any version before patch)
  • A malicious SKP file crafted to trigger the UAF
  • Knowledge of memory layout and heap spraying techniques

Lab Setup:

  1. Install a vulnerable version of Trimble SketchUp Viewer on a Windows VM.
  2. Use a debugger (e.g., WinDbg) to analyze the crash.
  3. Craft an SKP file that triggers the UAF and overwrites the freed memory with a controlled payload (e.g., a ROP chain or shellcode).
  4. Deliver the file to the victim (e.g., via email or web download).

Exploit Steps:

  1. Identify the vulnerable code path by fuzzing SKP files.
  2. Trigger the free and then allocate a controlled object in the freed memory (heap spray).
  3. Overwrite the freed pointer with a pointer to attacker-controlled data.
  4. When the vulnerable code dereferences the pointer, execute the payload.

Note: No public exploit code is available. This is a theoretical exploitation path.

Blue Team (Defense)

Detection:

  • Monitor for unusual SKP file downloads or email attachments.
  • Use endpoint detection and response (EDR) to detect heap spray or UAF exploitation attempts.
  • Enable application whitelisting to prevent untrusted executables.

Mitigation:

  • Block SKP files from untrusted sources.
  • Use sandboxing or virtualization for opening SKP files.
  • Apply the vendor patch when available.

Indicators of Compromise (IOCs)

  • File Hashes: (No specific hashes available; generic SKP file with unusual structure)
  • Network Indicators: Connections to attacker-controlled IPs after exploitation (e.g., for C2)
  • Process Behavior: SketchUp Viewer crashing or exhibiting abnormal memory access patterns
  • Registry/File System: Creation of malicious files in %TEMP% or %APPDATA%
  • YARA Rule: (See Detection Engineering)

Detection Engineering

YARA Rule

rule CVE_2024_9729_SKP_UAF {
    meta:
        description = "Detects malicious SKP files exploiting CVE-2024-9729"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-9729"
    strings:
        $skp_header = { 53 4B 50 00 }  // "SKP\0" header
        $uaf_pattern = { 48 8B 45 ?? 48 85 C0 74 ?? 48 8B 00 }  // Potential UAF dereference
    condition:
        $skp_header at 0 and $uaf_pattern
}

Sigma Rule

title: CVE-2024-9729 - Trimble SketchUp Viewer UAF Exploitation
id: 8a3f5c2e-1b4d-4f7a-9c6e-2d8b0a1e3f5c
status: experimental
description: Detects potential exploitation of CVE-2024-9729 via abnormal SketchUp Viewer crashes or memory access
author: Valters IT
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\SketchUpViewer.exe'
        CommandLine|contains: '.skp'
    condition: selection
falsepositives:
    - Legitimate SKP file opening
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2024-9729 - Potential SKP file download"; flow:to_server,established; content:"|53 4B 50 00|"; depth:4; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Block SKP files from untrusted sources at the email gateway and web proxy.
  2. Educate users not to open SKP files from unknown senders.
  3. Monitor for abnormal SketchUp Viewer crashes or memory errors.

Long-Term Fix:

  • Apply the official patch from Trimble when released.
  • Consider using a different 3D viewer that is actively maintained.

Workaround:

  • Use a sandboxed environment (e.g., Windows Sandbox) to open SKP files.
  • Disable automatic file parsing in SketchUp Viewer if possible.

Valters IT
Securing Digital Frontiers

👁️ 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.

Trimble SketchUp Viewer
SKP file parsing

💣 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-2024-9729/ · 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.