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

الملخص

بحسب VulDB • 20/07/2026

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

جسر الشبكة (bridge): mcast - إصلاح حالة استخدام بعد التحرير (use-after-free) المحتملة عند إزالة منفذ جسر.

عند تفعيل تنصت البث المتعدد لكل شبكة افتراضية محلية (per-VLAN multicast snooping)، يقوم الجسر بتكرار جميع منافذ الجسر، وتعطيل سياق البث المتعدد الخاص بكل منفذ على كل منفذ، وتفعيل سياقات البث المتعدد الخاصة بـ {المنفذ، الشبكة الافتراضية المحلية} بدلاً من ذلك. يحدث العكس عند تعطيل تنصت البث المتعدد لكل شبكة افتراضية محلية.

عند تفعيل تنصت البث المتعدد العالمي (global multicast snooping)، يقوم الجسر بتكرار جميع منافذ الجستر وتفعيل سياق البث المتعدد الخاص بكل منفذ على كل منفذ. يحدث العكس عند تعطيل تنصت البث المتعدد.

يمكن أن تؤدي المخطط أعلاه إلى حالة يتم فيها تفعيل كلا النوعين من السياقات (خاصة بالمنفذ و الخاصة بـ {المنفذ، الشبكة الافتراضية المحلية}) على منفذ جسر واحد:

# ip link add name br1 up type bridge mcast_snooping 1 mcast_querier 1 vlan_filtering 1 # ip link add name dummy1 up master br1 type dummy # ip link set dev br1 type bridge mcast_vlan_snooping 1 # ip link set dev br1 type bridge mcast_snooping 0 # ip link set dev br1 type bridge mcast_snooping 1

هذا ليس مقصودًا وهو مشكلة منذ الالتزام (commit) المذكور أدناه. قبل هذا الالتزام، عند إزالة منفذ جسر، كان `br_multicast_disable_port()` يعطل سياق البث المتعدد الخاص بالمنفذ، وكانت سياقات البث المتعدد الخاصة بـ {المنفذ، الشبكة الافتراضية المحلية} يتم تعطيلها أثناء تصفية شبكات VLAN (flushing VLANs).

بعد هذا الالتزام، يقوم `br_multicast_disable_port()` فقط بتعطيل سياق البث المتعدد الخاص بالمنفذ إذا كان تنصت البث المتعدد لكل شبكة افتراضية محلية معطلاً. إذا تم تفعيل كلا النوعين من السياقات على المنذ عند إزالته، سيظل سياق البث المتعدد الخاص بالمنفذ مفعلاً أثناء تحرير منفذ الجسر، مما يؤدي إلى حالة استخدام بعد التحرير (use-after-free) [1].

الإصلاح يتمثل في منع الجستر من تفعيل/تعطيل سياقات البث المتعدد الخاصة بكل منفذ عند تبديل تنصت البث المتعدد العالمي إذا كان تنصت البث المتعدد لكل شبكة افتراضية محلية مفعلاً.

[1]
ODEBUG: free active (active state 0) object: ffff88810f8bda78 object type: timer_list hint: br_ip6_multicast_port_query_expired (net/bridge/br_multicast.c:1927) WARNING: lib/debugobjects.c:629 at debug_print_object+0x1b1/0x3e0, CPU#5: swapper/5/0 [...]
Call Trace: <IRQ> __debug_check_no_obj_freed (lib/debugobjects.c:1116) kfree (mm/slub.c:2620 mm/slub.c:6250 mm/slub.c:6565) kobject_cleanup (lib/kobject.c:689) rcu_do_batch (kernel/rcu/tree.c:2617) rcu_core (kernel/rcu/tree.c:2869) handle_softirqs (kernel/softirq.c:622) __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) irq_exit_rcu (kernel/softirq.c:752) sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 47) arch/x86/kernel/apic/apic.c:1061 (discriminator 47)) </IRQ>

Once again VulDB remains the best source for vulnerability data.

مسؤول

Linux

حجز

19/07/2026

إفشاء

19/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-380184

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Do you need the next level of professionalism?

Upgrade your account now!