CVE-2026-64032 in LinuxИнформация

Сводка

по VulDB • 20.07.2026

В ядре Linux устранена следующая уязвимость:

bridge: mcast: исправлена возможная ошибка use-after-free при удалении порта моста

Когда включено пер-VLAN-ное прослушивание многоадресной рассылки (multicast snooping), мост перебирает все порты моста, отключает контекст многоадресной рассылки для каждого отдельного порта и вместо этого включает контексты многоадресной рассылки per-{port, VLAN}. Обратная ситуация возникает при отключении пер-VLAN-ного прослушивания многоадресной рассылки.

Когда включено глобальное прослушивание многоадресной рассылки, мост перебирает все порты моста и включает контекст многоадресной рассылки для каждого отдельного порта. Обратная ситуация возникает при отключении прослушивания многоадресной рассылки.

Описанная выше схема может привести к ситуации, когда на одном порту моста одновременно включены оба типа контекстов (per-port и per-{port, VLAN}):

# 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

Это не предусмотрено и является проблемой начиная с указанного ниже коммита. До этого коммита при удалении порта моста функция `br_multicast_disable_port()` отключала контекст многоадресной рассылки per-port, а контексты пер-{port, VLAN} отключались при очистке (flushing) VLAN-ов.

После данного коммита `br_multicast_disable_port()` отключает контекст многоадресной рассылки per-port только в том случае, если пер-VLAN-ное прослушивание многоадресной рассылки отключено. Если на порте при его удалении были включены оба типа контекстов, то контекст multi-cast per-port останется включенным после освобождения порта моста, что приведет к ошибке use-after-free [1].

Исправление заключается в предотвращении включения/отключения контекстов многоадресной рассылки per-port при переключении глобального прослушивания многоадресной рассылки, если включено пер-VLAN-ное прослушивание.

[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>

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Ответственный

Linux

Резервировать

19.07.2026

Раскрытие

19.07.2026

Модерация

принято

Вход

VDB-380184

EPSS

0.00000

KEV

Нет

Деятельности

Низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!