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

CVE-2025-0412

CVE-2025-0412 Remote Code Execution in Luxion
📅 PUBLISHED: 2025-01-13 03:20 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: 2.33%
👁️
2.33% probability
58.3× above the median CVE
Tier: HIGH
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-0412 is a critical memory corruption vulnerability in Luxion KeyShot Viewer, specifically within the parsing of KSP files. The flaw arises from improper validation of user-supplied data, leading to a memory corruption condition that can be leveraged for remote code execution (RCE) in the context of the current process. Exploitation requires user interaction—the victim must open a malicious KSP file or visit a malicious page. With a CVSS score of 7.8, this vulnerability poses a significant threat to users of KeyShot Viewer, especially in environments where untrusted KSP files are processed. No public exploit code or patch is currently available, but the risk is elevated due to the lack of vendor response.

⚡ 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: Local (requires user to open a file)
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required (victim must open malicious file)
  • Scope: Unchanged
  • Confidentiality Impact: High
  • Integrity Impact: High
  • Availability Impact: High

Threat Level: High. The vulnerability allows full compromise of the affected system with minimal user interaction. The lack of a patch and the potential for weaponization in targeted attacks increases the urgency.

Deep Dive & Mechanics

The vulnerability resides in the KSP file parser of Luxion KeyShot Viewer. KSP files are used for sharing 3D scenes and presentations. The parser fails to properly validate the size or structure of user-supplied data within the file, leading to a memory corruption condition—likely a buffer overflow or use-after-free. An attacker can craft a malicious KSP file containing oversized or malformed data that overwrites critical memory structures, hijacking the execution flow. Since the viewer runs in the context of the current user, successful exploitation grants the attacker the same privileges, enabling arbitrary code execution, data exfiltration, or further system compromise.

The vulnerability was reported via ZDI (ZDI-CAN-22139), indicating it was responsibly disclosed but remains unpatched. The lack of a patch suggests either the vendor is unresponsive or a fix is in development.

Vulnerable vs. Patched Code

No patched version is available. The vulnerable code likely resides in the KSP file parsing routine, where data is read into a fixed-size buffer without bounds checking. A hypothetical vulnerable snippet might look like:

void parse_ksp_data(char *buffer, size_t size) {
    char local_buf[256];
    memcpy(local_buf, buffer, size); // No size check
}

A patched version would include validation:

void parse_ksp_data(char *buffer, size_t size) {
    char local_buf[256];
    if (size > sizeof(local_buf)) {
        // Handle error
        return;
    }
    memcpy(local_buf, buffer, size);
}

Exploitation & Lab Setup

Red Team

Objective: Achieve remote code execution on a target system running Luxion KeyShot Viewer.

Prerequisites:

  • Luxion KeyShot Viewer installed (any version).
  • Victim must open a malicious KSP file.

Steps:

  1. Craft Malicious KSP File: Use a fuzzer (e.g., AFL++) to identify a crash in the KSP parser. Alternatively, manually corrupt a valid KSP file by overwriting a data block with a large payload.
  2. Generate Shellcode: Create shellcode for the target platform (e.g., Windows x64) that executes a reverse shell or drops a payload.
  3. Exploit Memory Corruption: Overwrite a function pointer or return address with the address of the shellcode. Use ROP chains if ASLR/DEP are enabled.
  4. Deliver Payload: Host the malicious KSP file on a website or send via email. Convince the victim to open it.

Example (Conceptual):

# Python script to generate a malicious KSP file
import struct

payload = b"A" * 256  # Overflow buffer
payload += struct.pack("<Q", 0x41414141)  # Overwrite return address
# Append shellcode
payload += b"\x90" * 16 + shellcode

with open("malicious.ksp", "wb") as f:
    f.write(payload)

Blue Team

Detection:

  • Monitor for unusual KSP file downloads or email attachments.
  • Use endpoint detection rules to flag KeyShot Viewer crashes or memory corruption events.
  • Deploy application whitelisting to block untrusted KSP files.

Prevention:

  • Disable automatic opening of KSP files.
  • Use sandboxing or virtualization for processing untrusted files.
  • Apply strict file validation at the perimeter (e.g., block oversized KSP files).

Response:

  • Isolate affected systems immediately.
  • Collect crash dumps and memory images for forensic analysis.
  • Block known malicious IPs or domains associated with the attack.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256): (None available publicly; generate upon discovery)
  • Network Indicators: Outbound connections from KeyShot Viewer to unknown IPs (e.g., for reverse shell).
  • Process Anomalies: KeyShot Viewer crashing repeatedly or spawning child processes (e.g., cmd.exe, powershell.exe).
  • Registry Changes: Unauthorized modifications to startup keys or service entries.
  • File System: Unexpected files written to %TEMP% or %APPDATA% after opening a KSP file.

Detection Engineering

YARA Rule

rule CVE_2025_0412_KeyShot_Memory_Corruption {
    meta:
        description = "Detects malicious KSP files exploiting CVE-2025-0412"
        author = "Valters IT"
        date = "2025-01-01"
        reference = "CVE-2025-0412"
    strings:
        $ksp_header = "KSP" ascii wide nocase
        $overflow_pattern = { 41 41 41 41 41 41 41 41 } // Pattern of 'A's
    condition:
        $ksp_header at 0 and #overflow_pattern > 10
}

Sigma Rule

title: Suspicious KeyShot Viewer Crash or Memory Corruption
id: 8f4a3b2c-1d5e-4f6a-9b7c-8d9e0f1a2b3c
status: experimental
description: Detects crashes or memory corruption events in Luxion KeyShot Viewer
author: Valters IT
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\keyshot_viewer.exe'
        CommandLine|contains: 'ksp'
    condition: selection
falsepositives:
    - Legitimate KSP file processing
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-0412 KeyShot Viewer Potential Exploit"; flow:to_server,established; content:"KSP"; offset:0; depth:3; content:"|41 41 41 41|"; distance:0; within:100; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

  • Immediate: Disable or uninstall Luxion KeyShot Viewer until a patch is available.
  • Workaround: Use a file reputation service to block unknown KSP files. Educate users not to open KSP files from untrusted sources.
  • Long-term: Monitor vendor channels for a security update. Consider using alternative 3D viewing software with active security support.
  • Compensating Controls: Deploy application control (e.g., AppLocker) to prevent execution of KeyShot Viewer if not required. Use endpoint detection and response (EDR) to monitor for exploitation attempts.

Valters IT
DevSecOps & Cyber Threat Intelligence

👁️ 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-0412/ · 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.