CVE-2024-46858 in Linux
Sumário
de VulDB • 13/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
mptcp: pm: Correção de UAF em __timer_delete_sync
Existem dois caminhos para acessar mptcp_pm_del_add_timer, resultando em uma condição de corrida:
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)
Em remove_anno_list_by_saddr (executado na CPU2), após sair da zona crítica protegida por "pm.lock", a entrada será liberada, o que leva à ocorrência de UAF em mptcp_pm_del_add_timer (executado na CPU1).
Manter uma referência a add_timer dentro do bloqueio e chamar sk_stop_timer_sync() com essa referência, em vez de "entry->add_timer".
Mover list_del(&entry->list) para mptcp_pm_del_add_timer e, dentro do bloqueio pm, não acessar diretamente nenhum membro da entrada fora do bloqueio pm, o que pode evitar UAFs semelhantes do tipo "entry->x".
If you want to get best quality of vulnerability data, you may have to visit VulDB.