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

serial: qcom-geni: fix TX DMA buffer flush

When transmit flushing a qcom-geni UART during an ongoing TX DMA, the
UART gets stuck infinitely repeating corrupted TX DMA frames.

The DMA-mode uart_ops does not provide a flush_buffer callback, so an
in-flight transfer can complete after serial core has reset the transmit
kfifo, underflowing its length and resubmitting page-sized transfers
indefinitely. Add one that stops the transfer and clears tx_remaining
and tx_queued.

The stop path was also broken: it unmapped the buffer while the serial
engine could still read it, and never reset the TX DMA state machine.
Cancel the main sequencer command first, then reset the state machine
and wait for it before unmapping. Drop the early return so a pending
mapping is also cleaned up when the main command is inactive.

The bug can be triggered from userspace with a large write immediately
followed by TCOFLUSH. A following tcdrain will hang forever. The bug was
reproduced and this fix was validated on Arduino Uno Q (QRB2210)
using /dev/ttyHS1.
Published: 2026-08-22
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via infinite DMA loop
Action: Apply Patch
AI Analysis

Impact

When flushing a qcom-geni UART during an ongoing transmit DMA, the UART becomes stuck in an infinite cycle that repeatedly sends corrupted DMA frames. The driver’s DMA-mode operations lack a proper flush callback, so an in-flight transfer can complete after the serial core resets the transmit FIFO, underflowing the buffer length and causing the driver to resubmit page-sized transfers endlessly. The stop path is also defective: it unmapped the buffer while the serial engine may still access it and never resets the TX DMA state machine, so the asynchronous cleanup never completes. This combination leads to a hang that manifests when a large write is immediately followed by the TCOFLUSH ioctl and an ensuing tcdrain, which blocks forever.

Affected Systems

The flaw resides in the Linux kernel’s qcom‑geni UART driver. Systems that run a kernel version containing the unpatched driver and rely on qcom‑geni UART devices—examples include the Arduino Uno Q (QRB2210) using /dev/ttyHS1—are susceptible. Any Linux installation that incorporates the affected driver code before the patch will be affected.

Risk and Exploitability

The EPSS score of < 1% indicates a very low probability of exploitation. The CVSS score of 8.8 marks this as a high severity local denial of service. The vulnerability is not listed in CISA’s KEV catalog, implying limited evidence of exploitation. The attack vector is local: any userspace process on a system running an unpatched kernel can trigger the condition by performing a large write to a qcom‑geni UART followed by a TCOFLUSH ioctl and then a tcdrain, leading to an infinite loop that stalls the UART driver.

Generated by OpenCVE AI on August 25, 2026 at 17:17 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a version that includes the patch applied in commit 1c31e2377f4c1bb110ca7f6e597b2253a7440c37 or later.
  • If an update is not immediately possible, avoid using large writes followed by TCOFLUSH or tcdrain on affected UART devices until the patch is applied.
  • Modify application code to use alternative flush mechanisms that do not rely on TCOFLUSH/Tcdrain on qcom‑geni UARTs until the kernel is updated.

Generated by OpenCVE AI on August 25, 2026 at 17:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Thu, 27 Aug 2026 13:00:00 +0000


Tue, 25 Aug 2026 15:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Tue, 25 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-835
References
Metrics threat_severity

None

threat_severity

Moderate


Tue, 25 Aug 2026 11:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Tue, 25 Aug 2026 09:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-400

Tue, 25 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H'}


Sat, 22 Aug 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-400

Sat, 22 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: serial: qcom-geni: fix TX DMA buffer flush When transmit flushing a qcom-geni UART during an ongoing TX DMA, the UART gets stuck infinitely repeating corrupted TX DMA frames. The DMA-mode uart_ops does not provide a flush_buffer callback, so an in-flight transfer can complete after serial core has reset the transmit kfifo, underflowing its length and resubmitting page-sized transfers indefinitely. Add one that stops the transfer and clears tx_remaining and tx_queued. The stop path was also broken: it unmapped the buffer while the serial engine could still read it, and never reset the TX DMA state machine. Cancel the main sequencer command first, then reset the state machine and wait for it before unmapping. Drop the early return so a pending mapping is also cleaned up when the main command is inactive. The bug can be triggered from userspace with a large write immediately followed by TCOFLUSH. A following tcdrain will hang forever. The bug was reproduced and this fix was validated on Arduino Uno Q (QRB2210) using /dev/ttyHS1.
Title serial: qcom-geni: fix TX DMA buffer flush
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-27T12:39:56.189Z

Reserved: 2026-08-15T05:44:03.923Z

Link: CVE-2026-74655

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T16:16:39.067

Modified: 2026-08-27T13:18:35.997

Link: CVE-2026-74655

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-22T00:00:00Z

Links: CVE-2026-74655 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T17:30:07Z

Weaknesses
  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')