Vulnerability · Published Aug 21, 2024 · Assigned by Linux

CVE-2022-48871tty: serial: qcom-geni-serial: fix slab-out-of-bounds on RX FIFO buffer

High 8.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 29% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)8.8High
Exploit odds (30 days)0.3%top 71.4% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: tty: serial: qcom-geni-serial: fix slab-out-of-bounds on RX FIFO buffer Driver's probe allocates memory for RX FIFO (port->rx_fifo) based on default RX FIFO depth, e.g. 16. Later during serial startup the qcom_geni_serial_port_setup() updates the RX FIFO depth (port->rx_fifo_depth) to match real device capabilities, e.g. to 32. The RX UART handle code will read "port->rx_fifo_depth" number of words into "port->rx_fifo" buffer, thus exceeding the bounds. This can be observed in certain configurations with Qualcomm Bluetooth HCI UART device and KASAN: Bluetooth: hci0: QCA Product ID :0x00000010 Bluetooth: hci0: QCA SOC Version :0x400a0200 Bluetooth: hci0: QCA ROM Version :0x00000200 Bluetooth: hci0: QCA Patch Version:0x00000d2b Bluetooth: hci0: QCA controller version 0x02000200 Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv bluetooth hci0: Direct firmware load for qca/htbtfw20.tlv failed with error -2 Bluetooth: hci0: QCA Failed to request file: qca/htbtfw20.tlv (-2) Bluetooth: hci0: QCA Failed to download patch (-2) ================================================================== BUG: KASAN: slab-out-of-bounds in handle_rx_uart+0xa8/0x18c Write of size 4 at addr ffff279347d578c0 by task swapper/0/0 CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.1.0-rt5-00350-gb2450b7e00be-dirty #26 Hardware name: Qualcomm Technologies, Inc. Robotics RB5 (DT) Call trace: dump_backtrace.part.0+0xe0/0xf0 show_stack+0x18/0x40 dump_stack_lvl+0x8c/0xb8 print_report+0x188/0x488 kasan_report+0xb4/0x100 __asan_store4+0x80/0xa4 handle_rx_uart+0xa8/0x18c qcom_geni_serial_handle_rx+0x84/0x9c qcom_geni_serial_isr+0x24c/0x760 __handle_irq_event_percpu+0x108/0x500 handle_irq_event+0x6c/0x110 handle_fasteoi_irq+0x138/0x2cc generic_handle_domain_irq+0x48/0x64 If the RX FIFO depth changes after probe, be sure to resize the buffer.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.8-1DEBIAN-CVE-2022-48871
Debian:13linux6.1.8-1DEBIAN-CVE-2022-48871
Debian:14linux6.1.8-1DEBIAN-CVE-2022-48871
Ubuntu:22.04:LTSlinux5.15.0-70.77UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-aws5.15.0-1034.38UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-azure5.15.0-1036.43UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1036.43.1UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-gcp5.15.0-1032.40UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-gke5.15.0-1031.36UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1018.23UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-ibm5.15.0-1028.31UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1028.33UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-kvm5.15.0-1031.36UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-70.77UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1023.23UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-oracle5.15.0-1033.39UBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-raspi5.15.0-1027.29UBUNTU-CVE-2022-48871
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2022-48871
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2022-48871

Affected products (as reported)

VendorProductVersions
Linux Linux f9d690b6ece7ec9a6ff6b588df95a010ab2d66f9 – before 894681682dbefdad917b88f86cde1069140a047af9d690b6ece7ec9a6ff6b588df95a010ab2d66f9 – before cb53a3366eb28fed67850c80afa52075bb71a38af9d690b6ece7ec9a6ff6b588df95a010ab2d66f9 – before fd524ca7fe45b8a06dca2dd546d62684a9768f95f9d690b6ece7ec9a6ff6b588df95a010ab2d66f9 – before b8caf69a6946e18ffebad49847e258f5b6d52ac2
Linux Linux 5.7

References