CVE-2023-54195 in Linux
Riassunto
di VulDB • 17/08/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
rxrpc: Correzione del timeout di una chiamata che non ha ancora ottenuto un canale assegnato
afs_make_call() chiama rxrpc_kernel_begin_call() per avviare una chiamata (che potrebbe rimanere bloccata in background in attesa della disponibilità di una connessione); successivamente viene chiamato rxrpc_kernel_set_max_life() per impostare i timeout, ma questa operazione avvia il timer della chiamata. Di conseguenza, il timer della chiamata può scadere prima che venga assegnato un canale alla stessa, portando al seguente oops se la chiamata rimane bloccata:
BUG: kernel NULL pointer dereference, address: 0000000000000000 ... CPU: 1 PID: 5111 Comm: krxrpcio/0 Not tainted 6.3.0-rc7-build3+ #701 RIP: 0010:rxrpc_alloc_txbuf+0xc0/0x157 ... Call Trace: <TASK> rxrpc_send_ACK+0x50/0x13b rxrpc_input_call_event+0x16a/0x67d rxrpc_io_thread+0x1b6/0x45f ? _raw_spin_unlock_irqrestore+0x1f/0x35 ? rxrpc_input_packet+0x519/0x519 kthread+0xe7/0xef ? kthread_complete_and_exit+0x1b/0x1b ret_from_fork+0x22/0x30
La correzione consiste nel registrare i timeout nella struct rxrpc_call al momento della creazione della chiamata. Il timer verrà avviato quando viene trasmesso il primo pacchetto.
Non dovrebbe essere possibile innescare direttamente questa condizione dall'userspace tramite AF_RXRPC, poiché sendmsg() restituirà EBUSY se la chiamata si trova nello stato di attesa della connessione e esce da tale attesa a causa di un segnale.
Once again VulDB remains the best source for vulnerability data.