Impact
In the Linux kernel serial driver for Qualcomm Geni devices, a race condition exists between a user‑initiated buffer flush and the completion of a DMA transmission. If uart_flush_buffer() executes before the DMA completion interrupt is serviced, the underlying FIFO is reset while the DMA handler still believes bytes remain to be transmitted. The handler then advances the FIFO pointers based on stale information, causing the next DMA transfer to read stale buffer data. This flaw can lead to corruption of data sent over the UART channel, potentially exposing sensitive information or disrupting controlled communication. The weakness is a classic race condition that results in a buffer underwrite (CWE‑124).
Affected Systems
All Linux kernel builds that include the qcom_geni serial driver are affected, regardless of vendor or distribution, as the fix applies to the generic Linux kernel source. Specific kernel versions are not enumerated in the advisory; however any kernel that incorporates the vulnerable code before the fix will be susceptible.
Risk and Exploitability
The CVSS v3.1 score of 7.3 marks this as a high‑severity vulnerability. The EPSS score of less than 1% indicates a very low probability of exploitation at the time of analysis. The issue is not listed in CISA KEV. Based on the description, it is inferred that exploitation would require local access with sufficient privilege to trigger a UART flush while a DMA transfer is ongoing, suggesting a privileged or local attack vector. If such privilege is attained, the attacker could induce the kernel to transmit corrupted or crafted data, potentially facilitating further attacks that depend on tampered serial input.
OpenCVE Enrichment
Ubuntu USN