☠️
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-122
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-1045

CVE-2025-1045 Remote Code Execution in Luxion
📅 PUBLISHED: 2025-04-23 16:42 UTC 🔄 UPDATED: 2026-08-12 09:01 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.58%
👁️
0.58% probability
14.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-1045 is a critical heap-based buffer overflow vulnerability in Luxion KeyShot Viewer, specifically during the parsing of KSP files. The flaw allows remote attackers to execute arbitrary code in the context of the current process, requiring user interaction (e.g., opening a malicious KSP file or visiting a malicious page). With a CVSS score of 7.8, this vulnerability poses a significant risk to users of KeyShot Viewer, especially in environments where untrusted KSP files are processed. No public exploit or patch is currently available, but the vulnerability is actively tracked by ZDI (ZDI-CAN-24586).

⚡ 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 ecosystems. It affects a standalone desktop application (Luxion KeyShot Viewer) and does not involve package manager dependencies.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
  • Base Score: 7.8 (High)
  • Attack Vector: Local (requires user to open a malicious file)
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required
  • Scope: Unchanged
  • Confidentiality Impact: High
  • Integrity Impact: High
  • Availability Impact: High

Threat Level: High. Exploitation could lead to full compromise of the affected system, including data theft, malware installation, or lateral movement.

Deep Dive & Mechanics

The vulnerability resides in the KSP file parser of Luxion KeyShot Viewer. KSP files are proprietary scene/project files used by KeyShot for 3D rendering. The parser fails to validate the length of user-supplied data before copying it to a heap-based buffer, leading to a classic heap overflow.

Technical Details:

  • Root Cause: Lack of bounds checking on a user-controlled length field in the KSP file format.
  • Trigger: A specially crafted KSP file containing an oversized data chunk.
  • Impact: Overwriting adjacent heap memory, which can be leveraged to hijack execution flow and achieve arbitrary code execution.
  • Exploitation Prerequisites: The target must open the malicious KSP file using KeyShot Viewer. No additional privileges are required.

Attack Scenario:

  1. Attacker crafts a malicious KSP file with a heap overflow payload.
  2. Attacker distributes the file via email, social engineering, or malicious websites.
  3. Victim opens the file in KeyShot Viewer, triggering the overflow.
  4. Attacker gains code execution in the context of the KeyShot Viewer process.

Vulnerable vs. Patched Code

Since no official patch is available, a direct code comparison is not possible. However, based on the vulnerability description, the vulnerable code likely resembles:

// Vulnerable pseudo-code
void parse_ksp_data(char *input, size_t input_len) {
    char *buffer = malloc(256);
    memcpy(buffer, input, input_len); // No length check
}

A patched version would include proper bounds checking:

// Patched pseudo-code
void parse_ksp_data(char *input, size_t input_len) {
    char *buffer = malloc(256);
    if (input_len > 256) {
        // Handle error or truncate
        return;
    }
    memcpy(buffer, input, input_len);
}

Exploitation & Lab Setup

Red Team (Exploitation)

No public exploit code is available. However, a hypothetical exploit would involve:

  1. Crafting a Malicious KSP File: Use a hex editor or custom script to modify a legitimate KSP file, inserting a large data chunk that overflows the heap buffer.
  2. Heap Spraying: Prepare the heap with controlled data to ensure the overflow overwrites a critical function pointer or return address.
  3. Payload Delivery: Embed shellcode or ROP chain in the overflow data.
  4. Trigger: Open the file in KeyShot Viewer.

Example (Conceptual):

# Hypothetical exploit script (not functional)
import struct

def craft_ksp_overflow():
    payload = b"A" * 256  # Fill buffer
    payload += struct.pack("<I", 0xdeadbeef)  # Overwrite heap metadata
    payload += b"\x90" * 100  # NOP sled
    payload += shellcode  # Arbitrary code
    # Write to KSP file
    with open("malicious.ksp", "wb") as f:
        f.write(payload)

Blue Team (Defense)

  • User Awareness: Train users to avoid opening KSP files from untrusted sources.
  • Application Sandboxing: Run KeyShot Viewer in a sandboxed environment (e.g., Windows Sandbox, Firejail).
  • File Scanning: Use endpoint security solutions to scan KSP files for anomalous structures.
  • Behavioral Monitoring: Monitor KeyShot Viewer for abnormal memory access patterns or crashes.

Indicators of Compromise (IOCs)

  • File Hashes (Example):
    • malicious.ksp SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  • Network Indicators: None specific (exploitation is local).
  • Process Anomalies:
    • KeyShot Viewer process (ksviewer.exe) crashing repeatedly.
    • Unusual child processes spawned by KeyShot Viewer.
  • Registry/File System:
    • Unexpected files written to %TEMP% or %APPDATA% by KeyShot Viewer.

Detection Engineering

YARA Rule

rule CVE_2025_1045_KeyShot_HeapOverflow {
    meta:
        description = "Detects malicious KSP files exploiting CVE-2025-1045"
        author = "Valters IT"
        date = "2025-04-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-1045"
    strings:
        $ksp_magic = { 4B 53 50 46 } // "KSPF" magic bytes
        $overflow_pattern = { 41 41 41 41 41 41 41 41 } // Large block of 'A's
    condition:
        $ksp_magic at 0 and #overflow_pattern > 10
}

Sigma Rule

title: CVE-2025-1045 KeyShot Viewer Heap Overflow
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects KeyShot Viewer crashes or abnormal memory access indicative of CVE-2025-1045 exploitation
author: Valters IT
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\ksviewer.exe'
        CommandLine|contains: '.ksp'
    condition: selection
falsepositives:
    - Legitimate large KSP files
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-1045 KeyShot Viewer KSP File Download"; flow:to_client,established; file.name:/.*\.ksp/i; file.size:>1000000; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

  • Immediate Actions:
    • Disable or restrict the use of KeyShot Viewer until a patch is available.
    • Implement application whitelisting to prevent execution of untrusted KSP files.
  • Long-term Fix:
    • Monitor Luxion’s official channels for a security update.
    • Apply vendor patch as soon as it is released.
  • Compensating Controls:
    • Use endpoint detection and response (EDR) tools to monitor for heap overflow behavior.
    • Enable Windows Defender Exploit Guard (Heap Spray protection).

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 viewer
keyshot viewer ksp

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