CVE-2026-74569 in Linuxالمعلومات

الملخص

بحسب VulDB • 16/08/2026

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

netfilter: nf_conntrack_sip: توسيع نطاق فرق إعادة كتابة NAT إلى s32 في sip_help_tcp()

تقوم الدالة sip_help_tcp() بتخزين حجم التغيير لكل رسالة SIP تمت إعادة كتابة عنوان الـ NAT الخاص بها في متغير diff من النوع s16، وتراكمه في tdiff من النوع s16. ومع ذلك، يمكن أن ينمو حجم الرسالة الواحدة بمقدار يتجاوز S16_MAX بينما يظل الحزمة ضمن حد enlarge_skb() البالغ 65535 بايت: تقوم nf_nat_sip() بإعادة كتابة كل عنوان URI مطابق، وقائمة Contact الطويلة توسع الرسالة بعشرات الكيلوبايتات. نتيجة لذلك، يحدث تجاوز (wrap) لقيمة diff، ويعطي التعبير "datalen = datalen + diff - msglen" قيمة datalen غير موقعة ضخمة، مما يجعل الدالة ct_sip_get_header() في التكرار التالي تقرأ ما بعد نهاية الحزمة الخطية (linearized skb tail).

تم توسيع نطاق متغيرات diff و tdiff ومقبض seq_adjust إلى s32. وكلاهما مقيد بحد حجم الحزمة البالغ 65535 بايت، ونواة seqadj هي بالفعل من النوع s32 (حيث تأخذ الدالة nf_ct_seqadj_set() وسيطة من نوع s32)، لذا فإن أي مدخلات كانت مقبولة سابقاً لن يتم رفضها.

BUG: KASAN: use-after-free in ct_sip_get_header (net/netfilter/nf_conntrack_sip.c:464) Read of size 1 at addr ffff888010800000 by task ksoftirqd/1/25 ct_sip_get_header (net/netfilter/nf_conntrack_sip.c:464) sip_help_tcp (net/netfilter/nf_conntrack_sip.c:1694) nf_confirm (net/netfilter/nf_conntrack_proto.c:183) nf_hook_slow (net/netfilter/core.c:619) ip6_output (net/ipv6/ip6_output.c:246) ip6_forward (net/ipv6/ip6_output.c:690) ipv6_rcv (net/ipv6/ip6_input.c:351) __netif_receive_skb_one_core (net/core/dev.c:6212) process_backlog (net/core/dev.c:6676) __napi_poll (net/core/dev.c:7735) net_rx_action (net/core/dev.c:7955) handle_softirqs (kernel/softirq.c:622) run_ksoftirqd (kernel/softirq.c:1076)

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

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!