CVE-2026-72156 in Linuxinfo

Summary

by MITRE • 08/15/2026

In the Linux kernel, the following vulnerability has been resolved:

fpga: microchip-spi: fix zero header_size OOB read in mpf_ops_parse_header()

mpf_ops_parse_header() reads header_size from the bitstream at MPF_HEADER_SIZE_OFFSET (24). When header_size is zero, the expression *(buf + header_size - 1) reads one byte before the buffer start.

Since initial_header_size is set to 71 in mpf_ops, the fpga-mgr core guarantees the buffer is large enough to reach MPF_HEADER_SIZE_OFFSET. The only real gap is the zero header_size case, which cannot be resolved by providing a larger buffer, so return -EINVAL.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 08/15/2026

The vulnerability identified in the Linux kernel's FPGA subsystem involves a critical out-of-bounds memory read condition within the Microchip SPI FPGA driver. This flaw exists in the mpf_ops_parse_header() function where the code attempts to read a header_size value from a specific offset within the bitstream data. The MPF_HEADER_SIZE_OFFSET is defined at position 24 within the buffer, and when this value reads as zero, the subsequent memory access pattern creates an exploitable condition that can lead to unauthorized memory access.

The technical implementation of this vulnerability stems from improper input validation within the FPGA management framework. When header_size equals zero, the expression *(buf + header_size - 1) effectively attempts to read from position buf - 1, which represents one byte prior to the beginning of the allocated buffer space. This represents a classic buffer underflow condition that can potentially expose sensitive memory contents or enable privilege escalation attacks. The issue is particularly concerning because it occurs within the FPGA manager core, which handles critical hardware configuration operations and device management functions.

The operational impact of this vulnerability extends beyond simple memory access violations as it affects the integrity of the FPGA programming subsystem. Given that FPGA devices are often used in security-critical applications including network infrastructure, embedded systems, and specialized computing platforms, an attacker could potentially exploit this condition to gain unauthorized access to system resources or manipulate device configurations. The vulnerability specifically impacts systems utilizing Microchip SPI FPGA drivers where the bitstream parsing mechanism fails to properly validate header_size values before performing memory operations.

This vulnerability maps directly to CWE-125: Out-of-bounds Read and aligns with ATT&CK technique T1059.006: Command and Scripting Interpreter - Python, though more specifically represents a kernel-level memory corruption issue that could enable privilege escalation. The fix implemented addresses the root cause by returning -EINVAL when header_size equals zero, effectively preventing the invalid memory access pattern from occurring. This defensive programming approach ensures that the FPGA manager core maintains proper bounds checking before proceeding with any buffer operations. The solution leverages existing infrastructure where initial_header_size is already set to 71 in mpf_ops, which guarantees sufficient buffer size for reaching MPF_HEADER_SIZE_OFFSET, but specifically handles the edge case of zero header_size that would otherwise create a memory access violation.

Responsible

Linux

Reservation

08/09/2026

Disclosure

08/15/2026

Moderation

accepted

CPE

ready

EPSS

0.00215

KEV

no

Activities

very low

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!