vt: selection: Fix unsigned underflow and slab-out-of-bounds read in paste_selection()
CVE-2026-98839 is fixed in 20 products on 1 platform, first by DEBIAN-CVE-2026-98839, released October 19, 2026. It is not reported as exploited. Patch Radar priority: Routine.
In the Linux kernel, the following vulnerability has been resolved: vt: selection: Fix unsigned underflow and slab-out-of-bounds read in paste_selection() In paste_selection(), the loop copies min_t(unsigned int, vc_sel.buf_len - pasted,tty->receive_room) bytes per iteration into tty_ldisc_receive_buf() and increments pasted += count. Because the selection mutex (vc_sel.lock) is dropped inside the loop Whenever the line discipline buffer fills up and paste_selection() sleeps on tty->write_wait, a concurrent TIOCLINUX (TIOCL_SETSEL) ioctl can replace vc_sel.buffer with a shorter selection and reduce vc_sel.buf_len below pasted. When paste_selection() resumes, vc_sel.buf_len - pasted underflows as an unsigned integer to a large positive value, causing tty_ldisc_receive_buf(ld, vc_sel.buffer + pasted, NULL, count) to read up to 4094 bytes out-of-bounds past the newly allocated vc_sel.buffer. Fix this by terminating the loop when pasted >= vc_sel.buf_len. Kernel stack trace (Linux 7.3.0-rc3): ================================================================== BUG: KASAN: slab-out-of-bounds in n_tty_receive_buf_common+0xa01/0x1650 Read of size 4094 at addr ffff888101c58010 by task kworker/u17:1/65 Workqueue: events_unbound flush_to_ldisc Call Trace: <TASK> dump_stack_lvl+0x70/0xa0 print_report+0x153/0x4c6 kasan_report+0xf1/0x120 kasan_check_range+0x11c/0x200 __asan_memcpy+0x29/0x70 n_tty_receive_buf_common+0xa01/0x1650 tty_ldisc_receive_buf+0x66/0x110 tty_port_default_receive_buf+0x6b/0xb0 flush_to_ldisc+0x1b4/0x410 process_one_work+0x6ff/0x1110 worker_thread+0x4a8/0xb70 kthread+0x307/0x3e0 ret_from_fork+0x3ed/0x680 </TASK> ==================================================================
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Linux | |||
| bpftool6.18 · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| bpftool6.18-debuginfo · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel-livepatch-6.18.56-125.164 · amzn 2023 | 1:1.0-0.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18 · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18-debuginfo · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18-debuginfo-common-aarch64 · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18-debuginfo-common-x86_64 · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18-devel · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18-headers · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18-modules-extra · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18-modules-extra-common · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18-tools · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18-tools-debuginfo · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| kernel6.18-tools-devel · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| linux · Debian 14 | 7.2.10-1 | DEBIAN-CVE-2026-98839 | Oct 19, 2026 |
| microvm-kernel6.18 · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| perf6.18 · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| perf6.18-debuginfo · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| python3-perf6.18 · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
| python3-perf6.18-debuginfo · amzn 2023 | 1:6.18.56-125.164.amzn2023 | ALAS2023-2026-3251 | Nov 7, 2026 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.