Description
In the Linux kernel, the following vulnerability has been resolved:
serial: caif: fix use-after-free in caif_serial ldisc_close()
There is a use-after-free bug in caif_serial where handle_tx() may
access ser->tty after the tty has been freed.
The race condition occurs between ldisc_close() and packet transmission:
CPU 0 (close) CPU 1 (xmit)
------------- ------------
ldisc_close()
tty_kref_put(ser->tty)
[tty may be freed here]
<-- race window -->
caif_xmit()
handle_tx()
tty = ser->tty // dangling ptr
tty->ops->write() // UAF!
schedule_work()
ser_release()
unregister_netdevice()
The root cause is that tty_kref_put() is called in ldisc_close() while
the network device is still active and can receive packets.
Since ser and tty have a 1:1 binding relationship with consistent
lifecycles (ser is allocated in ldisc_open and freed in ser_release
via unregister_netdevice, and each ser binds exactly one tty), we can
safely defer the tty reference release to ser_release() where the
network device is unregistered.
Fix this by moving tty_kref_put() from ldisc_close() to ser_release(),
after unregister_netdevice(). This ensures the tty reference is held
as long as the network device exists, preventing the UAF.
Note: We save ser->tty before unregister_netdevice() because ser is
embedded in netdev's private data and will be freed along with netdev
(needs_free_netdev = true).
How to reproduce: Add mdelay(500) at the beginning of ldisc_close()
to widen the race window, then run the reproducer program [1].
Note: There is a separate deadloop issue in handle_tx() when using
PORT_UNKNOWN serial ports (e.g., /dev/ttyS3 in QEMU without proper
serial backend). This deadloop exists even without this patch,
and is likely caused by inconsistency between uart_write_room() and
uart_write() in serial core. It has been addressed in a separate
patch [2].
KASAN report:
==================================================================
BUG: KASAN: slab-use-after-free in handle_tx+0x5d1/0x620
Read of size 1 at addr ffff8881131e1490 by task caif_uaf_trigge/9929
Call Trace:
<TASK>
dump_stack_lvl+0x10e/0x1f0
print_report+0xd0/0x630
kasan_report+0xe4/0x120
handle_tx+0x5d1/0x620
dev_hard_start_xmit+0x9d/0x6c0
__dev_queue_xmit+0x6e2/0x4410
packet_xmit+0x243/0x360
packet_sendmsg+0x26cf/0x5500
__sys_sendto+0x4a3/0x520
__x64_sys_sendto+0xe0/0x1c0
do_syscall_64+0xc9/0xf80
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f615df2c0d7
Allocated by task 9930:
Freed by task 64:
Last potentially related work creation:
The buggy address belongs to the object at ffff8881131e1000
which belongs to the cache kmalloc-cg-2k of size 2048
The buggy address is located 1168 bytes inside of
freed 2048-byte region [ffff8881131e1000, ffff8881131e1800)
The buggy address belongs to the physical page:
page_owner tracks the page as allocated
page last free pid 9778 tgid 9778 stack trace:
Memory state around the buggy address:
ffff8881131e1380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff8881131e1400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff8881131e1480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff8881131e1500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff8881131e1580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================
[1]: https://gist.github.com/mrpre/f683f244544f7b11e7fa87df9e6c2eeb
[2]: https://lore.kernel.org/linux-serial/20260204074327.226165-1-jiayuan.chen@linux.dev/T/#u
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 3.11 | 5.10.252 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.18.14-1 | — |
| Debian 13 | linux | 6.12.85-1 | — |
| Debian 12 | linux | 6.1.170-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1026.30 | — |
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1096.98 | — |
| Ubuntu 25.10 | linux +8 | No fix yet | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-134.134 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1060.63 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1063.71 | USN-8606-1 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1062.69 | USN-8607-1 |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1039.42 | — |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1063.69 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1058.64 | USN-8492-2 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1045.48 | USN-8492-2 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1060.61 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-134.134.1 | USN-8497-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1058.61 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1058.61.1 | USN-8492-2 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1029.30 | USN-8498-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1057.58 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1060.64 | USN-8492-4 |
| Ubuntu 24.04 LTS | linux-riscv +26 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1032.33 | USN-8499-1 |
| Ubuntu 22.04 LTS | linux | 5.15.0-186.196 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1112.119 | USN-8575-2 |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1060.63~22.04.1 | USN-8492-2 |
| Ubuntu 22.04 LTS | linux-azure +1 | 5.15.0-1117.126 | USN-8610-1, USN-8575-3 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1063.71~22.04.1 | USN-8606-1 |
| Ubuntu 22.04 LTS | linux-azure-fde-6.8 | 6.8.0-1062.69~22.04.1 | USN-8609-1 |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1112.122 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1063.69~22.04.1 | USN-8492-2 |
| Ubuntu 22.04 LTS | linux-gke | 5.15.0-1108.114 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1095.103 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-136.136~22.04.1 | USN-8619-1 |
| Ubuntu 22.04 LTS | linux-ibm | 5.15.0-1106.110 | USN-8575-2 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1060.61~22.04.1 | USN-8492-2 |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1107.113 | USN-8620-4 |
| Ubuntu 22.04 LTS | linux-kvm | 5.15.0-1104.109 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-lowlatency | 5.15.0-184.194 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-134.134.1~22.04.1 | USN-8497-1 |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1107.108 | USN-8575-2 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1058.61~22.04.1 | USN-8492-1 |
| Ubuntu 22.04 LTS | linux-nvidia-tegra | 5.15.0-1064.66 | USN-8576-2 |
| Ubuntu 22.04 LTS | linux-nvidia-tegra-igx | 5.15.0-1053.53 | USN-8576-2 |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1109.115 | USN-8575-3 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1057.58~22.04.1 | USN-8492-2 |
| Ubuntu 22.04 LTS | linux-raspi | 5.15.0-1106.109 | USN-8668-2 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 | 6.8.0-134.134~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-xilinx-zynqmp | 5.15.0-1075.79 | USN-8575-1 |
Show 18 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2049.50 | USN-8492-3 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1055.56 | USN-8492-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 +1 | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1104.106 | USN-8620-3 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1111.120 | USN-8575-1 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1055.56~22.04.1 | USN-8492-1 |
| Ubuntu Pro FIPS 20.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1060.63+fips1 | USN-8492-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1062.69+fips1 | USN-8492-5 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-134.134+fips1 | USN-8492-5 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1063.69+fips1 | USN-8492-1 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-aws-fips | 5.15.0-1112.119+fips1 | USN-8575-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-azure-fips | 5.15.0-1117.126+fips1 | USN-8620-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips | 5.15.0-186.196+fips1 | USN-8575-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-gcp-fips | 5.15.0-1112.122+fips1 | USN-8575-1 |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux +10 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux-aws-5.15 | 5.15.0-1112.119~20.04.1 | USN-8575-2 |
| Ubuntu Pro 20.04 LTS | linux-azure-5.15 | 5.15.0-1117.126~20.04.1 | USN-8620-1 |
| Ubuntu Pro 20.04 LTS | linux-azure-fde-5.15 | 5.15.0-1117.126~20.04.2 | USN-8620-1 |
| Ubuntu Pro 20.04 LTS | linux-gcp-5.15 | 5.15.0-1112.122~20.04.1 | USN-8668-1 |
| Ubuntu Pro 20.04 LTS | linux-hwe-5.15 | 5.15.0-186.196~20.04.1 | USN-8575-1 |
| Ubuntu Pro 20.04 LTS | linux-ibm-5.15 +1 | 5.15.0-1106.110~20.04.1 | — |
| Ubuntu Pro 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1107.113~20.04.1 | USN-8620-3 |
| Ubuntu Pro 20.04 LTS | linux-lowlatency-hwe-5.15 | 5.15.0-184.194~20.04.1 | USN-8575-1 |
| Ubuntu Pro 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1064.66~20.04.1 | USN-8576-1 |
| Ubuntu Pro 20.04 LTS | linux-oracle-5.15 | 5.15.0-1109.115~20.04.1 | USN-8620-1 |
| Ubuntu Pro 18.04 LTS | linux +12 | No fix yet | — |
| Ubuntu Pro 16.04 LTS | linux +7 | No fix yet | — |
| Ubuntu Pro 14.04 LTS | linux +3 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | kernel-64kb +8 | 6.12.0-160000.37.1 | SUSE-SU-2026:23231-1, SUSE-SU-2026:23221-1 |
| SLES for SAP 16.0 | kernel-default-base | 6.12.0-160000.37.1.160000.2.19 | SUSE-SU-2026:23231-1, SUSE-SU-2026:23221-1 |
| SLES 16.0 | kernel-64kb +8 | 6.12.0-160000.37.1 | SUSE-SU-2026:23237-1, SUSE-SU-2026:23231-1, SUSE-SU-2026:23221-1 |
| SLES 16.0 | kernel-default-base | 6.12.0-160000.37.1.160000.2.19 | SUSE-SU-2026:23231-1, SUSE-SU-2026:23221-1 |
| SLE Micro 6.2 | kernel-default-base | 6.12.0-160000.37.1.160000.2.19 | SUSE-SU-2026:23068-1 |
| SLE Micro 6.2 | kernel-rt +5 | 6.12.0-160000.37.1 | SUSE-SU-2026:23068-1, SUSE-SU-2026:23066-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | kernel-source | 7.1.2-1.1 | openSUSE-SU-2026:11175-1 |
| openSUSE Leap 16.0 | kernel-default-base | 6.12.0-160000.37.1.160000.2.19 | openSUSE-SU-2026:21555-1 |
| openSUSE Leap 16.0 | kernel-rt +11 | 6.12.0-160000.37.1 | openSUSE-SU-2026:21555-1 |
Advisories 32
- WID-SEC-2026-1700 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
- USN-8575-1 linux, linux-gcp, linux-gcp-fips, linux-gke, linux-gkeop, linux-hwe-5.15, linux-kvm, linux-lowlatency, linux-lowlatency-hwe-5.15, linux-realtime, linux-xilinx-zynqmp vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8575-2 linux-aws, linux-aws-5.15, linux-aws-fips, linux-fips, linux-ibm, linux-nvidia vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-1 linux-azure-5.15, linux-azure-fde-5.15, linux-oracle-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-3 linux-intel-iot-realtime, linux-intel-iotg-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8668-2 linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8610-1 linux-azure-fde vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8575-3 linux-azure, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8668-1 linux-gcp-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8576-1 linux-nvidia-tegra-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8576-2 linux-nvidia-tegra, linux-nvidia-tegra-igx vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-4 linux-intel-iotg vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-2 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8606-1 linux-azure, linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8607-1 linux-azure-fde vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8619-1 linux-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8609-1 linux-azure-fde-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8499-1 linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8497-1 linux-lowlatency, linux-lowlatency-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8492-1 linux, linux-aws, linux-aws-fips, linux-gcp, linux-gcp-fips, linux-ibm, linux-nvidia, linux-nvidia-6.8, linux-oracle, linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8492-2 linux-aws-6.8, linux-gcp-6.8, linux-gke, linux-gkeop, linux-ibm-6.8, linux-nvidia-lowlatency, linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8498-1 linux-nvidia-tegra vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8492-3 linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8492-5 linux-azure-fips, linux-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8492-4 linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- SUSE-SU-2026:23231-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 27, 2026
- SUSE-SU-2026:23237-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 27, 2026
- SUSE-SU-2026:23221-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 27, 2026
- SUSE-SU-2026:23066-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 15, 2026
- SUSE-SU-2026:23068-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 15, 2026
- openSUSE-SU-2026:21555-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 12, 2026
- openSUSE-SU-2026:11175-1 kernel-devel-7.1.2-1.1 on GA media SUSE / openSUSE Security Updates · Jul 3, 2026
References
- https://git.kernel.org/stable/c/5e266ba8d330d3b8e5bc198f238cd8901826cfa1
- https://git.kernel.org/stable/c/d3c75db4e0460641dbcd274b40867e252d801da1
- https://git.kernel.org/stable/c/4e63d6f68544ae5269ac9735ae5b69b59b5b8725
- https://git.kernel.org/stable/c/331e2b7051635780edea248dd08ae2026c126f4a
- https://git.kernel.org/stable/c/52731ef4438155cea782fac74e547a327ab9e7c5
- https://git.kernel.org/stable/c/c8c197aaa56b25a2d54f3aa07e27e228d6c08546
- https://git.kernel.org/stable/c/40962f2bf8cdba63af23aec95ad3f49b689e58e2
- https://git.kernel.org/stable/c/308e7e4d0a846359685f40aade023aee7b27284c