☠️
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-1046

CVE-2025-1046 Remote Code Execution in Luxion
📅 PUBLISHED: 2025-04-23 16:43 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.38%
👁️
0.38% probability
9.5× 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-2025-1046 is a critical Use-After-Free (UAF) vulnerability in Luxion KeyShot, a professional 3D rendering and animation application. The flaw resides in the SKP file parsing module, 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 KeyShot in design and engineering workflows.

⚡ 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 (Luxion KeyShot) and is not part of a software supply chain package ecosystem.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.8 (High)
  • Attack Vector: Local (AV:L) – The attacker must deliver a malicious file to the target.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: Required (UI:R) – The victim must open the malicious file.
  • Scope: Unchanged (S:U) – The vulnerability does not affect other components.
  • Confidentiality Impact: High (C:H) – Full data access possible.
  • Integrity Impact: High (I:H) – Code execution allows modification.
  • Availability Impact: High (A:H) – Potential for denial of service or full control.

Threat Level: High. Exploitation could lead to complete compromise of the affected system, with potential for lateral movement if KeyShot is used in a networked environment.

Deep Dive & Mechanics

The vulnerability is a classic Use-After-Free (CWE-416) in the SKP file parser of Luxion KeyShot. SKP files are native to SketchUp but are imported by KeyShot for rendering. The parser does not properly track object lifetimes; when processing a specially crafted SKP file, it frees a memory object but later attempts to dereference it. This dangling pointer can be leveraged by an attacker to execute arbitrary code.

Technical Details:

  • The flaw is triggered during the parsing of SKP file structures, likely involving 3D geometry or material definitions.
  • The attacker controls the SKP file content, enabling precise manipulation of heap memory.
  • Successful exploitation requires heap spraying or other memory layout techniques to place malicious code at the freed memory location.
  • The vulnerability was reported via ZDI (ZDI-CAN-23646), indicating responsible disclosure but no patch yet.

Vulnerable vs. Patched Code

Since no patch is available, a direct code comparison is not possible. However, the vulnerable code pattern is:

// Vulnerable pseudo-code
Object* obj = parser->getObject(skp_data);
// ... some operations that may free obj ...
obj->process(); // Use-after-free if obj was freed

A patched version would validate the object’s existence before use:

// Patched pseudo-code
Object* obj = parser->getObject(skp_data);
if (obj != nullptr) {
    obj->process();
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Luxion KeyShot installed (any version prior to patch).
  • Ability to deliver a malicious SKP file (e.g., via email, download, or USB).

Exploitation Steps:

  1. Craft a malicious SKP file using a fuzzer or manual heap manipulation to trigger the UAF.
  2. Use heap spraying to place shellcode at the freed memory location.
  3. Deliver the file to the target and convince them to open it.
  4. Upon file parsing, the UAF triggers, executing the attacker’s payload.

Example (Conceptual):

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

def create_malicious_skp():
    # Craft SKP header and data to trigger UAF
    payload = b"\x00" * 1000  # Placeholder
    with open("malicious.skp", "wb") as f:
        f.write(payload)

create_malicious_skp()

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

Blue Team

Detection:

  • Monitor for unusual SKP file downloads or attachments.
  • Use endpoint detection and response (EDR) to flag KeyShot processes exhibiting abnormal memory access patterns.
  • Enable application whitelisting to prevent execution of untrusted KeyShot instances.

Hunting:

  • Search for crash dumps from KeyShot (e.g., KeyShot.exe crashes with access violation).
  • Analyze network traffic for outbound connections from KeyShot processes (potential C2).

Indicators of Compromise (IOCs)

  • File Hashes: (No known samples yet; monitor for malicious SKP files)
  • Process Names: KeyShot.exe, KeyShot*.exe
  • Registry Keys: (None specific)
  • Network Indicators: Outbound connections from KeyShot to unknown IPs (potential C2)
  • YARA Rule: (See Detection Engineering)

Detection Engineering

YARA Rule

rule CVE_2025_1046_KeyShot_UAF {
    meta:
        description = "Detects malicious SKP files targeting CVE-2025-1046"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-1046"
    strings:
        $skp_header = "SKP" ascii wide nocase
        $uaf_pattern = { 48 8B 45 ?? 48 85 C0 74 ?? 48 8B 00 }  // Example pattern
    condition:
        $skp_header at 0 and $uaf_pattern
}

Sigma Rule

title: CVE-2025-1046 KeyShot SKP File Parsing UAF
id: 8f7a3b2c-1d4e-5f6a-7b8c-9d0e1f2a3b4c
status: experimental
description: Detects potential exploitation of CVE-2025-1046 via KeyShot process crashes or abnormal memory access.
author: Valters IT
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\KeyShot.exe'
        CommandLine|contains: '.skp'
    condition: selection
falsepositives:
    - Legitimate SKP file usage
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-1046 KeyShot SKP File Parsing UAF - Potential C2"; flow:to_server,established; content:"|48 8B 45|"; distance:0; within:4; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable SKP file parsing in KeyShot if possible (check application settings).
  2. Restrict execution of KeyShot to trusted users only.
  3. Use application control (e.g., AppLocker) to block untrusted SKP files.
  4. Monitor for updates from Luxion and apply the patch as soon as it becomes available.

Long-term:

  • Implement file integrity monitoring for SKP files.
  • Educate users on the risks of opening untrusted 3D files.
  • Consider using a sandbox or virtualized environment for KeyShot.

Workaround: Convert SKP files to a safer format (e.g., OBJ or FBX) before importing into KeyShot.


Valters IT

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

luxion keyshot
keyshot skp 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-2025-1046/ · 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.