Перейти к содержимому
Noroxi
CVE-2025-38248· NVD / CVE Program· CNA Linux

bridge: mcast: Fix use-after-free during router port configuration

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 31/100)

  • Есть публичный код proof-of-concept (GitHub); записей об эксплуатации в реальных атаках нет.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,30% (FIRST EPSS).
  • Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
  • Исправленная версия: Linux Linux 4d3c2a1d4c7c33103f1ddfdbc5cfe1ea4f6d0dcd, 7544f3f5b0b58c396f374d060898b5939da31709, bdced577da71b118b6ed4242ebd47f81bf54d406; cbl2 kernel 5.15.202.1-1 on CBL-Mariner 2.0 Release Notes.

Пока низкий приоритет. Обновитесь до Linux Linux 4d3c2a1d4c7c33103f1ddfdbc5cfe1ea4f6d0dcd, 7544f3f5b0b58c396f374d060898b5939da31709, bdced577da71b118b6ed4242ebd47f81bf54d406; cbl2 kernel 5.15.202.1-1 on CBL-Mariner 2.0 Release Notes или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

In the Linux kernel, the following vulnerability has been resolved: bridge: mcast: Fix use-after-free during router port configuration The bridge maintains a global list of ports behind which a multicast router resides. The list is consulted during forwarding to ensure multicast packets are forwarded to these ports even if the ports are not member in the matching MDB entry. When per-VLAN multicast snooping is enabled, the per-port multicast context is disabled on each port and the port is removed from the global router port list: # ip link add name br1 up type bridge vlan_filtering 1 mcast_snooping 1 # ip link add name dummy1 up master br1 type dummy # ip link set dev dummy1 type bridge_slave mcast_router 2 $ bridge -d mdb show | grep router router ports on br1: dummy1 # ip link set dev br1 type bridge mcast_vlan_snooping 1 $ bridge -d mdb show | grep router However, the port can be re-added to the global list even when per-VLAN multicast snooping is enabled: # ip link set dev dummy1 type bridge_slave mcast_router 0 # ip link set dev dummy1 type bridge_slave mcast_router 2 $ bridge -d mdb show | grep router router ports on br1: dummy1 Since commit 4b30ae9adb04 ("net: bridge: mcast: re-implement br_multicast_{enable, disable}_port functions"), when per-VLAN multicast snooping is enabled, multicast disablement on a port will disable the per-{port, VLAN} multicast contexts and not the per-port one. As a result, a port will remain in the global router port list even after it is deleted. This will lead to a use-after-free [1] when the list is traversed (when adding a new port to the list, for example): # ip link del dev dummy1 # ip link add name dummy2 up master br1 type dummy # ip link set dev dummy2 type bridge_slave mcast_router 2 Similarly, stale entries can also be found in the per-VLAN router port list. When per-VLAN multicast snooping is disabled, the per-{port, VLAN} contexts are disabled on each port and the port is removed from the per-VLAN router port list: # ip link add name br1 up type bridge vlan_filtering 1 mcast_snooping 1 mcast_vlan_snooping 1 # ip link add name dummy1 up master br1 type dummy # bridge vlan add vid 2 dev dummy1 # bridge vlan global set vid 2 dev br1 mcast_snooping 1 # bridge vlan set vid 2 dev dummy1 mcast_router 2 $ bridge vlan global show dev br1 vid 2 | grep router router ports: dummy1 # ip link set dev br1 type bridge mcast_vlan_snooping 0 $ bridge vlan global show dev br1 vid 2 | grep router However, the port can be re-added to the per-VLAN list even when per-VLAN multicast snooping is disabled: # bridge vlan set vid 2 dev dummy1 mcast_router 0 # bridge vlan set vid 2 dev dummy1 mcast_router 2 $ bridge vlan global show dev br1 vid 2 | grep router router ports: dummy1 When the VLAN is deleted from the port, the per-{port, VLAN} multicast context will not be disabled since multicast snooping is not enabled on the VLAN. As a result, the port will remain in the per-VLAN router port list even after it is no longer member in the VLAN. This will lead to a use-after-free [2] when the list is traversed (when adding a new port to the list, for example): # ip link add name dummy2 up master br1 type dummy # bridge vlan add vid 2 dev dummy2 # bridge vlan del vid 2 dev dummy1 # bridge vlan set vid 2 dev dummy2 mcast_router 2 Fix these issues by removing the port from the relevant (global or per-VLAN) router port list in br_multicast_port_ctx_deinit(). The function is invoked during port deletion with the per-port multicast context and during VLAN deletion with the per-{port, VLAN} multicast context. Note that deleting the multicast router timer is not enough as it only takes care of the temporary multicast router states (1 or 3) and not the permanent one (2). [1] BUG: KASAN: slab-out-of-bounds in br_multicast_add_router.part.0+0x3f1/0x560 Write of size 8 at addr ffff888004a67328 by task ip/384 [...] Call Trace: <TASK> dump_stack ---truncated---

ВысокаяCVSS 7.8 · v3.1—Proof of concept Есть исправление
Опубликовано
9 июл. 2025 г.
Обновлено
5 авг. 2026 г.
EPSS
0,3 % · 21-й процентиль

Инструменты для отчёта

JSON

Оценка срочности

31

Наблюдать

Пока низкий приоритет.

CVSS
31 / 40 · 7.8 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,3 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
нет
Техническое влияние
полное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
7,8
CNA · Linux
7,8
совпадают

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Есть PoC, боевого модуля нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2025-38248

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

У вас WordPress? Проверьте сайт бесплатно в WP Lens

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

У вас WordPress? Проверьте сайт бесплатно в WP Lens

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

Мы используем этот продукт, нужна помощь

Затронутые системы

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

ВендорПродукт
linuxlinux kernel

Затронутые версии

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • linux linux kernel5.15 и новее · до 6.15.5
  • linux linux kernel6.16

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.

  • Linux Linux

    • 5.15затронута
    • 2796d846d74a18cc6563e96eff8bf28c5e06f912 и новее · до 4d3c2a1d4c7c33103f1ddfdbc5cfe1ea4f6d0dcdзатронута · git
    • 2796d846d74a18cc6563e96eff8bf28c5e06f912 и новее · до bdced577da71b118b6ed4242ebd47f81bf54d406затронута · git
    • 2796d846d74a18cc6563e96eff8bf28c5e06f912 и новее · до f05a4f9e959e0fc098046044c650acf897ea52d2затронута · git
    • 2796d846d74a18cc6563e96eff8bf28c5e06f912 и новее · до 7544f3f5b0b58c396f374d060898b5939da31709затронута · git
    • до 5.15не затронута · semver
    • 6.6.122 и новее · до 6.6.* включительноне затронута · semver
    • 6.12.67 и новее · до 6.12.* включительноне затронута · semver
    • 6.15.5 и новее · до 6.15.* включительноне затронута · semver
    • 6.16 и новеене затронута · original_commit_for_fix

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
AlmaLinux:8bpftoolдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernelдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-abi-stablelistsдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-coreдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-cross-headersдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-debugдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-debug-coreдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-debug-develдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-debug-modulesдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-debug-modules-extraдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-develдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-docдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-headersдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-modulesдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-modules-extraдо 4.18.0-553.107.1.el8_104.18.0-553.107.1.el8_10
AlmaLinux:8kernel-rtдо 4.18.0-553.107.1.rt7.448.el8_104.18.0-553.107.1.rt7.448.el8_10
AlmaLinux:8kernel-rt-coreдо 4.18.0-553.107.1.rt7.448.el8_104.18.0-553.107.1.rt7.448.el8_10
AlmaLinux:8kernel-rt-debugдо 4.18.0-553.107.1.rt7.448.el8_104.18.0-553.107.1.rt7.448.el8_10
AlmaLinux:8kernel-rt-debug-coreдо 4.18.0-553.107.1.rt7.448.el8_104.18.0-553.107.1.rt7.448.el8_10
AlmaLinux:8kernel-rt-debug-develдо 4.18.0-553.107.1.rt7.448.el8_104.18.0-553.107.1.rt7.448.el8_10
AlmaLinux:8kernel-rt-debug-modulesдо 4.18.0-553.107.1.rt7.448.el8_104.18.0-553.107.1.rt7.448.el8_10
AlmaLinux:8kernel-rt-debug-modules-extraдо 4.18.0-553.107.1.rt7.448.el8_104.18.0-553.107.1.rt7.448.el8_10
AlmaLinux:8kernel-rt-develдо 4.18.0-553.107.1.rt7.448.el8_104.18.0-553.107.1.rt7.448.el8_10
AlmaLinux:8kernel-rt-modulesдо 4.18.0-553.107.1.rt7.448.el8_104.18.0-553.107.1.rt7.448.el8_10

+96

Тот же продукт

linux: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2022-0847A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe KEV
    89Срочно
  • CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV
    85Срочно
  • CVE-2016-5195Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by leveraging incorrect haKEV
    83Срочно

Опубликованы до и после этой записи в том же продукте

  • ← РаньшеCVE-2025-382459 июл. 2025 г. · atm: Release atm_dev_mutex after removing procfs in atm_dev_deregister().
    31Наблюдать
  • ← РаньшеCVE-2025-382479 июл. 2025 г. · userns and mnt_idmap leak in open_tree_attr(2)
    22Наблюдать
  • Позже →CVE-2025-382499 июл. 2025 г. · ALSA: usb-audio: Fix out-of-bounds read in snd_usb_get_audioformat_uac3()
    28Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
Linux Linux4d3c2a1d4c7c33103f1ddfdbc5cfe1ea4f6d0dcdВендор (CNA)
Linux Linux7544f3f5b0b58c396f374d060898b5939da31709Вендор (CNA)
Linux Linuxbdced577da71b118b6ed4242ebd47f81bf54d406Вендор (CNA)
Linux Linuxf05a4f9e959e0fc098046044c650acf897ea52d2Вендор (CNA)
cbl2 kernel 5.15.202.1-1 on CBL-Mariner 2.0Release NotesMicrosoft (MSRC)
almalinux:bpftool4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel-abi-stablelists4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel-core4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel-cross-headers4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel-debug4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel-debug-core4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel-debug-devel4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel-debug-modules4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel-debug-modules-extra4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel-devel4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:kernel-doc4.18.0-553.107.1.el8_10 · AlmaLinux:8Реестр пакетов (OSV)
debian:linux6.12.69-1 · Debian:13Реестр пакетов (OSV)
red hat:bpftool0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:bpftool-debuginfo0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:kernel0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:kernel-abi-stablelists0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:kernel-core0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:kernel-debug0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:kernel-debug-core0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:kernel-debug-debuginfo0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:kernel-debug-devel0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:kernel-debug-modules0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:kernel-debug-modules-extra0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)
red hat:kernel-debuginfo0:4.18.0-553.107.1.el8_10 · Red Hat:enterprise_linux:8::baseosРеестр пакетов (OSV)

Статус эксплойта

Есть proof of concept

Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.

Доказательство

  • Репозиторий PoC на GitHub ×1

Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.

Публичные свидетельства эксплойта
ИсточникТипДата
Репозиторий PoC на GitHubstars:02026-01-22

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

  1. Публикация
  2. Первый PoC+197 дн.
  3. Сегодня25 окт. 2026 г.+473 дн.
EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Среди источников нет ссылок на коммит или PR.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана пользователем с локальным доступом к системе.
  • Достаточно учётной записи с низкими привилегиями.
  • Действия пользователя не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
высокое · данные могут быть прочитаны
Целостность
высокое · данные или конфигурация могут быть изменены
Доступность
высокое · работа сервиса может быть нарушена
Вектор атаки
Локальный
Сложность атаки
Низкая
Требуемые привилегии
Низкие
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Высокое
Влияние на целостность
Высокое
Влияние на доступность
Высокое

Класс уязвимости (CWE)

CWE-416 · Use After Free

Вектор CVSS

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

nvd-primary

Первопричина

После освобождения области памяти продолжает использоваться другая ссылка на неё. К этому моменту та же область может быть выделена под другие данные.

Ошибка в коде

Весь класс CWE-416

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

c
free(dev->buf);/* ... другой поток всё ещё работает ... */process(dev->buf);

Исправленный код

c
lock(&dev->lock);free(dev->buf);dev->buf = NULL;unlock(&dev->lock);

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Показать все источники (ещё 3)

Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.

Все записи