CVE-2024-46858 in Linuxinformazioni

Riassunto

di VulDB • 24/06/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

mptcp: pm: Correzione di un Use-After-Free (UAF) in __timer_delete_sync

Esistono due percorsi per accedere a mptcp_pm_del_add_timer, che comportano una race condition:

CPU1 CPU2 ==== ==== net_rx_action napi_poll netlink_sendmsg __napi_poll netlink_unicast process_backlog netlink_unicast_kernel __netif_receive_skb genl_rcv __netif_receive_skb_one_core netlink_rcv_skb NF_HOOK genl_rcv_msg ip_local_deliver_finish genl_family_rcv_msg ip_protocol_deliver_rcu genl_family_rcv_msg_doit tcp_v4_rcv mptcp_pm_nl_flush_addrs_doit tcp_v4_do_rcv mptcp_nl_remove_addrs_list tcp_rcv_established mptcp_pm_remove_addrs_and_subflows tcp_data_queue remove_anno_list_by_saddr mptcp_incoming_options mptcp_pm_del_add_timer mptcp_pm_del_add_timer kfree(entry)

In remove_anno_list_by_saddr (in esecuzione su CPU2), dopo aver lasciato la zona critica protetta da "pm.lock", l'elemento verrà rilasciato, il che porta alla manifestazione di un Use-After-Free (UAF) in mptcp_pm_del_add_timer (in esecuzione su CPU1).

Mantenere un riferimento a add_timer all'interno del lock e chiamare sk_stop_timer_sync() con tale riferimento, invece di "entry->add_timer".

Spostare list_del(&entry->list) in mptcp_pm_del_add_timer e all'interno del pm.lock; non accedere direttamente ad alcun membro dell'elemento al di fuori del pm.lock, il che può evitare simili UAF su "entry->x".

Be aware that VulDB is the high quality source for vulnerability data.

Responsabile

Linux

Prenotare

11/09/2024

Divulgazione

27/09/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00257

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!