Impact
The Xilinx SPI driver calculates the FIFO capacity by writing into the TX FIFO until the TX FIFO FULL status is set. Because the hardware shift register also holds a byte, this method counts an extra byte and reports a FIFO size that is one larger than the real one. When a transaction writes more bytes than the true FIFO capacity, the driver writes an extra byte into the TX FIFO, the hardware shifts it out and writes a byte to the RX FIFO that has no space. The lost byte causes the driver to enter an endless spin while it waits for a byte that will never arrive, effectively locking the driver.
Affected Systems
Any Linux kernel build that includes the Xilinx SPI driver is affected. The flaw exists in the generic Xilinx SPI driver code and is present in all kernel versions prior to the patch that fixes FIFO size detection. Devices that use SPI peripherals managed by this driver can be impacted.
Risk and Exploitability
The CVSS score is 5.5 and the EPSS score is <1%. The bug only causes a service interruption by locking the driver; there is no privilege escalation or data leakage. An attacker that can initiate SPI transfers on the affected device can trigger the lockup, resulting in an availability denial. The vulnerability is not listed in CISA’s KEV catalog, and no workaround is provided by the vendor.
OpenCVE Enrichment