Мониторинг Карточка CVE
Открытые данные
К списку уязвимостей
Высокий
Опубликована

CVE-2026-99117

net: bridge: mcast: don't truncate the port group walk on teardown

Публикация: 28.10.2026·Обновлена: 31.10.2026, 18:31·Europe/Moscow

Что произошло

Автоперевод выключен · оригинальное описание

In the Linux kernel, the following vulnerability has been resolved: net: bridge: mcast: don't truncate the port group walk on teardown __br_multicast_disable_port_ctx() and br_multicast_del_port() walk port->mglist with hlist_for_each_entry_safe(). However, br_multicast_find_del_pg() can also delete other entries from the same list through br_multicast_fwd_src_remove() or __fwd_del_star_excl(). If such an entry is the iterator's saved next node, hlist_del_init() clears its ->next and terminates the walk early. The reproducer triggers this in both teardown walks, leaving port groups in the bridge mdb with a dangling ->key.port after del_nbp() frees the port: BUG: KASAN: slab-use-after-free in __mdb_fill_info+0x1191/0x1320 __mdb_fill_info+0x1191/0x1320 br_mdb_dump+0x594/0xe40 rtnl_mdb_dump+0x1cf/0x5d0 Use hlist_del_init_rcu() to unlink the group while preserving ->next. br_multicast_del_pg() and the teardown walks run under br->multicast_lock. The GC worker must acquire the same lock before detaching the group for destruction, so the node remains alive while the walk uses the preserved pointer. Preserving ->next means a walk can now reach a group that an earlier iteration already deleted as a side effect. That group is off mp->ports, so br_multicast_find_del_pg() would fall through its port scan and hit the trailing WARN_ON(1). Skip such groups at the top of that helper: a port group is put on port->mglist when it is created and only unlinked when it is deleted, so hlist_unhashed() identifies exactly this case.

Что это значит

В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.

Что делать

Редакционные пояснения, сведения источников и общие рекомендации помечены отдельно
Устранить в течение 7 дней

1. Проверьте, затронуты ли вы

Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.

Debian / Ubuntu
dpkg-query -W -f='${Package}	${Version}\n'
RHEL / AlmaLinux
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'
Windows PowerShell
Get-HotFix | Select-Object HotFixID, InstalledOn
Общая рекомендация, не из бюллетеня вендора

2. Установите исправление

Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.

Общая рекомендация, не из бюллетеня вендора

3. Временные меры

До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.

Общая рекомендация, не из бюллетеня вендора

4. Проверьте следы эксплуатации

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

Общая рекомендация, не из бюллетеня вендора

5. После исправления

  • Проверьте фактическую версию и результат установки по бюллетеню.
  • При необходимости перезапустите сервисы в согласованное окно.
  • Повторите проверку сканером и функциональные проверки.
  • Зафиксируйте результат, дату, владельца и оставшийся риск.

Продукты и затронутые версии

Linux / Linux

{
  "status": "affected",
  "version": "b08123684bd55fa6d6ee4b52d4ae3040fadb5aa2",
  "lessThan": "be331b23c650de9518f8266b901d8abb9b36af77",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "b08123684bd55fa6d6ee4b52d4ae3040fadb5aa2",
  "lessThan": "ab836d56ff43f2e7927e88c83cd02c47a98a672e",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "b08123684bd55fa6d6ee4b52d4ae3040fadb5aa2",
  "lessThan": "025c25ad73323c7dc5af4ee97fe0a2c0b3c177c8",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "b08123684bd55fa6d6ee4b52d4ae3040fadb5aa2",
  "lessThan": "b0db9f4ff402becff710ab27dbd9f6fe4850b47e",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "b08123684bd55fa6d6ee4b52d4ae3040fadb5aa2",
  "lessThan": "e69d4927dacd6ddaff09777a89efc0d3143d3b0d",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "b08123684bd55fa6d6ee4b52d4ae3040fadb5aa2",
  "lessThan": "8243d587a081e790ad96e80d48eef44d9f7ef005",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "b08123684bd55fa6d6ee4b52d4ae3040fadb5aa2",
  "lessThan": "b45e8c24608c992d1e2cea047eb5bcbfa537f86b",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "b08123684bd55fa6d6ee4b52d4ae3040fadb5aa2",
  "lessThan": "5a3f7a683aee56e1f15c9d53041f3236767eaae7",
  "versionType": "git"
}

Linux / Linux

{
  "status": "affected",
  "version": "5.10"
}
{
  "status": "unaffected",
  "version": "0",
  "lessThan": "5.10",
  "versionType": "semver"
}
{
  "status": "unaffected",
  "version": "5.10.273",
  "versionType": "semver",
  "lessThanOrEqual": "5.10.*"
}
{
  "status": "unaffected",
  "version": "5.15.224",
  "versionType": "semver",
  "lessThanOrEqual": "5.15.*"
}
{
  "status": "unaffected",
  "version": "6.1.191",
  "versionType": "semver",
  "lessThanOrEqual": "6.1.*"
}
{
  "status": "unaffected",
  "version": "6.6.161",
  "versionType": "semver",
  "lessThanOrEqual": "6.6.*"
}
{
  "status": "unaffected",
  "version": "6.12.115",
  "versionType": "semver",
  "lessThanOrEqual": "6.12.*"
}
{
  "status": "unaffected",
  "version": "6.18.59",
  "versionType": "semver",
  "lessThanOrEqual": "6.18.*"
}
{
  "status": "unaffected",
  "version": "7.2.13",
  "versionType": "semver",
  "lessThanOrEqual": "7.2.*"
}
{
  "status": "unaffected",
  "version": "7.3",
  "versionType": "original_commit_for_fix",
  "lessThanOrEqual": "*"
}

CVSS: оценки и векторы

CVSS 3.1 · cve7.8
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AV · Вектор атакилокальный доступ
AC · Сложность атакинизкая
PR · Привилегиинизкие
UI · Участие пользователяне нужно
S · Область воздействияне меняется
C · Конфиденциальностьвысокое
I · Целостностьвысокое
A · Доступностьвысокое
CVSS 3.1 · 416baaa9-dc9f-4396-8d5f-8c081fb06d677.8
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AV · Вектор атакилокальный доступ
AC · Сложность атакинизкая
PR · Привилегиинизкие
UI · Участие пользователяне нужно
S · Область воздействияне меняется
C · Конфиденциальностьвысокое
I · Целостностьвысокое
A · Доступностьвысокое
CVSS 3.1 · ghsa7.8
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AV · Вектор атакилокальный доступ
AC · Сложность атакинизкая
PR · Привилегиинизкие
UI · Участие пользователяне нужно
S · Область воздействияне меняется
C · Конфиденциальностьвысокое
I · Целостностьвысокое
A · Доступностьвысокое

Источники и ссылки

Происхождение полей
{
  "cwes": [],
  "epss": {
    "source": "epss",
    "received_at": "2026-11-02T21:15:49.098485+00:00"
  },
  "title": {
    "source": "cve",
    "received_at": "2026-11-01T21:02:04.861499+00:00"
  },
  "scores": [
    "cve",
    "ghsa",
    "nvd"
  ],
  "status": {
    "source": "cve",
    "received_at": "2026-11-01T21:02:04.861499+00:00"
  },
  "affected": [
    "cve"
  ],
  "published": {
    "source": "cve",
    "received_at": "2026-11-01T21:02:04.861499+00:00"
  },
  "solutions": [],
  "percentile": {
    "source": "epss",
    "received_at": "2026-11-02T21:15:49.098485+00:00"
  },
  "references": [
    "cve",
    "ghsa",
    "nvd"
  ],
  "description": {
    "source": "cve",
    "received_at": "2026-11-01T21:02:04.861499+00:00"
  },
  "workarounds": [],
  "configurations": []
}

Хронология записи

  1. Данные обновлены03.11.2026, 00:15
  2. Данные обновлены02.11.2026, 03:33
  3. Данные обновлены02.11.2026, 00:13
  4. Данные обновлены02.11.2026, 00:02
  5. Данные обновлены02.11.2026, 00:01
  6. Данные обновлены31.10.2026, 12:00
  7. Данные обновлены30.10.2026, 15:58
  8. Данные обновлены28.10.2026, 23:51
  9. Данные обновлены28.10.2026, 18:00
  10. Опубликована28.10.2026, 15:17

Личная заметка и статус

Другие CVE того же продукта

УЯЗВИМОСТЬ / ПРОДУКТПРИОРИТЕТCVSSEPSSСИГНАЛЫОПУБЛИКОВАНАКарточка
CVE-2026-99270
tcp: Fix potential UAF in reqsk_timer_handler().
Linux / Linux
Высокий8.1
—
03.11.2026
CVE-2026-99269
sched_ext: Wait for SCX_OPSS_DISPATCHING before moving tasks off DSQs
Linux / Linux
Высокий7.8
—
03.11.2026
CVE-2026-99268
io_uring: wake ring pollers for local task_work
Linux / Linux
Информационный—
—
03.11.2026
CVE-2026-99267
io_uring/napi: make stale entries time out after 60s
Linux / Linux
Информационный—
—
03.11.2026
CVE-2026-99266
io_uring/zcrx: fix buffer offsets in areas above 4GB
Linux / Linux
Информационный—
—
03.11.2026
CVE-2026-99117: net: bridge: mcast: don't truncate the port group walk on teardown · CVE Радар