CVE-2024-46858 in Linuxالمعلومات

الملخص

بحسب VulDB • 26/06/2026

في نواة لينكس، تم حل الثغرة التالية:

mptcp: pm: إصلاح حالة استخدام بعد التحرير (UAF) في __timer_delete_sync

هناك مساران للوصول إلى دالة mptcp_pm_del_add_timer، مما يؤدي إلى حدوث شرط سباق (Race Condition):

المعالج 1 المعالج 2 ===== ===== 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)

في دالة remove_anno_list_by_saddr (التي تعمل على المعالج 2)، بعد الخروج من المنطقة الحرجة المحمية بواسطة "pm.lock"، سيتم تحرير العنصر (entry)، مما يؤدي إلى حدوث حالة استخدام بعد التحرير (UAF) في الدالة mptcp_pm_del_add_timer (التي تعمل على المعالج 1).

يتم الاحتفاظ بمرجع لدالة add_timer داخل القفل، واستدعاء sk_stop_timer_sync() باستخدام هذا المرجع بدلاً من "entry->add_timer".

نقل الأمر list_del(&entry->list) إلى دالة mptcp_pm_del_add_timer وداخل قفل pm، وعدم الوصول مباشرةً إلى أي أعضاء للعنصر خارج نطاق قفل pm، مما يمكن أن يتجنب حالات UAF المشابهة مثل "entry->x".

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

11/09/2024

إفشاء

27/09/2024

الاعتدال

تمت الموافقة

إدخال

VDB-278768

EPSS

0.00257

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!