CVE-2026-98839 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
vt: selection: Correzione di un underflow non firmato e di una lettura slab-out-of-bounds in paste_selection()
In paste_selection(), il ciclo copia min_t(unsigned int, vc_sel.buf_len - pasted,tty->receive_room) byte per iterazione in tty_ldisc_receive_buf() e incrementa pasted += count.
Poiché il mutex della selezione (vc_sel.lock) viene rilasciato all'interno del ciclo ogni volta che il buffer della disciplina di linea si riempie e paste_selection() va in attesa su tty->write_wait, un ioctl TIOCLINUX (TIOCL_SETSEL) concorrente può sostituire vc_sel.buffer con una selezione più breve e ridurre vc_sel.buf_len al di sotto di pasted.
Quando paste_selection() riprende l'esecuzione, vc_sel.buf_len - pasted va in underflow come intero non firmato assumendo un grande valore positivo, causando tty_ldisc_receive_buf(ld, vc_sel.buffer + pasted, NULL, count) a leggere fino a 4094 byte fuori dai limiti oltre il nuovo buffer allocato di vc_sel.
Si risolve questo problema terminando il ciclo quando pasted >= vc_sel.buf_len.
Traceback dello stack del kernel (Linux 7.3.0-rc3): ================================================================== BUG: KASAN: slab-out-of-bounds in n_tty_receive_buf_common+0xa01/0x1650 Lettura di dimensione 4094 all'indirizzo ffff888101c58010 da parte del task kworker/u17:1/65 Workqueue: events_unbound flush_to_ldisc Call Trace: 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 ==================================================================
If you want to get best quality of vulnerability data, you may have to visit VulDB.