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

CVE-2025-1047

CVE-2025-1047 Remote Code Execution in Luxion
📅 PUBLISHED: 2025-04-23 16:44 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-1047 is a critical remote code execution vulnerability in Luxion KeyShot, a professional 3D rendering and animation application. The flaw resides in the parsing of PVS (KeyShot scene) files, where an uninitialized pointer is accessed before proper initialization. An attacker can exploit this by convincing a user to open a malicious PVS file or visit a malicious page that triggers the parsing routine. Successful exploitation allows arbitrary code execution in the context of the current user process, with a CVSS score of 7.8 (High). No public proof-of-concept, exploit code, or patch is currently available. The vulnerability was reported via the Zero Day Initiative (ZDI-CAN-23694).

⚡ 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) distributed via official vendor channels. Users should verify the integrity of downloaded KeyShot installers and PVS files from untrusted sources.

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. Although user interaction is required, the lack of a patch and the potential for code execution in a widely used 3D design tool makes this a significant threat for targeted attacks.

Deep Dive & Mechanics

The vulnerability is a classic Access of Uninitialized Pointer (CWE-824). When KeyShot parses a specially crafted PVS file, it allocates a pointer variable but fails to initialize it before use. The parser then dereferences this pointer, leading to a read or write operation at an attacker-controlled memory location.

Technical Flow:

  1. The PVS file format contains various chunks and data structures.
  2. During parsing, a pointer is declared but not set to NULL or a valid address.
  3. The attacker crafts a PVS file where the uninitialized pointer is later used in a memory operation (e.g., memcpy, free, or function call).
  4. By controlling the contents of the uninitialized memory (e.g., via heap spraying or prior allocations), the attacker can redirect execution to arbitrary code.

Root Cause: Lack of proper initialization of a pointer variable in the PVS parsing code. This is a common programming error in C/C++ applications where stack or heap variables are not zeroed before use.

Vulnerable vs. Patched Code

Since no patch is available, the following is a hypothetical example of the vulnerable pattern and a secure fix.

Vulnerable Code (C++):

void ParsePVSFile(const char* filename) {
    FILE* file = fopen(filename, "rb");
    if (!file) return;

    char* buffer;
    // BUG: buffer is not initialized
    // buffer = NULL; // missing initialization

    size_t size = ReadFileSize(file);
    buffer = (char*)malloc(size);
    fread(buffer, 1, size, file);

    // Later use of buffer without checking if allocation succeeded
    ProcessData(buffer);
    free(buffer);
    fclose(file);
}

Patched Code (Hypothetical):

void ParsePVSFile(const char* filename) {
    FILE* file = fopen(filename, "rb");
    if (!file) return;

    char* buffer = NULL; // Proper initialization
    size_t size = ReadFileSize(file);
    buffer = (char*)malloc(size);
    if (!buffer) {
        fclose(file);
        return; // Handle allocation failure
    }
    fread(buffer, 1, size, file);
    ProcessData(buffer);
    free(buffer);
    fclose(file);
}

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Luxion KeyShot installed (any version with the vulnerability).
  • A malicious PVS file crafted to trigger the uninitialized pointer.

Exploitation Steps:

  1. Craft the PVS file: Use a hex editor or custom tool to modify a legitimate PVS file. Overwrite specific chunks to cause the parser to use an uninitialized pointer. The attacker must control the memory layout (e.g., via heap spray) to place shellcode at the dereferenced address.
  2. Deliver the file: Send the malicious PVS file via email, download link, or USB drive.
  3. Trigger: The victim opens the file in KeyShot. The parser executes the vulnerable code path, leading to code execution.

Example Payload (Shellcode):

; x86-64 Windows calc.exe shellcode (example)
xor rcx, rcx
push rcx
mov rcx, 0x6578652e636c6163 ; "calc.exe"
push rcx
mov rcx, rsp
mov rdx, 0x0000000000000000
mov r8, 0x0000000000000000
mov rax, 0x0000000000000000
call rax

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

Blue Team (Defense)

Detection & Prevention:

  • User Awareness: Train users not to open PVS files from untrusted sources.
  • Application Sandboxing: Run KeyShot in a sandboxed environment (e.g., Windows Sandbox, Firejail) to limit impact.
  • Memory Protection: Enable ASLR, DEP, and CFG (Control Flow Guard) on Windows.
  • File Scanning: Use antivirus/EDR solutions to scan PVS files for malicious patterns.
  • Network Controls: Block downloads of PVS files from unknown domains.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256): (None available; placeholder)
    • e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  • Network Indicators: Connections to IPs/domains hosting malicious PVS files.
  • Process Behavior: KeyShot.exe spawning child processes (e.g., cmd.exe, powershell.exe) unexpectedly.
  • Registry Changes: Unusual modifications to HKEY_CURRENT_USER\Software\Luxion\KeyShot.
  • File System: Creation of new executable files in %TEMP% or %APPDATA% after opening a PVS file.

Detection Engineering

YARA Rule

rule CVE_2025_1047_KeyShot_PVS_UninitPtr {
    meta:
        description = "Detects malicious PVS files targeting CVE-2025-1047"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-1047"
    strings:
        $pvs_magic = { 50 56 53 00 } // "PVS\0" magic bytes
        $suspicious_chunk = { 41 42 43 44 } // Example chunk ID
        $null_ptr_pattern = { 00 00 00 00 00 00 00 00 } // Uninitialized pointer area
    condition:
        $pvs_magic at 0 and $suspicious_chunk and #null_ptr_pattern > 2
}

Sigma Rule

title: CVE-2025-1047 KeyShot PVS File Exploitation Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects suspicious process behavior when KeyShot opens a PVS file
author: Valters IT
date: 2025-04-10
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\KeyShot.exe'
        CommandLine|contains: '.pvs'
    filter:
        ParentImage|endswith: '\explorer.exe'
    condition: selection and not filter
falsepositives:
    - Legitimate use of KeyShot with PVS files
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-1047 KeyShot PVS File Download"; flow:to_server,established; content:"PVS"; nocase; fileext:"pvs"; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable PVS file association: Prevent automatic opening of PVS files in KeyShot.
  2. Use application whitelisting: Only allow trusted PVS files.
  3. Monitor for updates: Check Luxion's website for patches (currently none).

Long-Term Fix:

  • Apply vendor patch when released.
  • Implement code review for pointer initialization in parsing routines.
  • Use static analysis tools (e.g., Coverity, Clang Static Analyzer) to detect uninitialized variables.

Workaround:

  • Convert PVS files to a safer format (e.g., OBJ, FBX) before opening in KeyShot.

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.

Luxion KeyShot
KeyShot PVS

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