🔍 CVE-2026-74655

8.8
CVSS Score
HIGH
2026-08-22
2026-10-14 13:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 qcom-geni UART 드라이버에서 TX DMA 버퍼 플러시 시 발생하는 취약점입니다. 전송 중인 DMA가 있는 상태에서 플러시가 발생하면 UART가 무한히 손상된 프레임을 반복하며 멈추는 현상이 발생합니다.

💡 쉬운 설명

데이터를 보내는 도중에 갑자기 전송을 중단하려고 하면 시스템이 오류를 일으켜 멈춰버리는 문제입니다. 이로 인해 통신 장치가 정상적으로 작동하지 않고 무한 루프에 빠질 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

qcom-geni UART 드라이버를 사용하는 Linux 커널 기반 시스템 (예: QRB2210 기반 장치)

⚔️ 공격 벡터

사용자 공간(userspace)에서 대량의 쓰기 작업 직후 TCOFLUSH 명령을 실행하여 트리거 가능

🛡️ 대응 방법

Linux 커널을 최신 패치가 적용된 버전으로 업데이트하여 TX DMA 버퍼 플러시 로직 수정 적용

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel