CVE-2026-99117
net: bridge: mcast: don't truncate the port group walk on teardown
Что произошло
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.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'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
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
CVSS 3.1 · ghsa7.8
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Источники и ссылки
Происхождение полей
{
"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": []
}Хронология записи
- Данные обновлены03.11.2026, 00:15
- Данные обновлены02.11.2026, 03:33
- Данные обновлены02.11.2026, 00:13
- Данные обновлены02.11.2026, 00:02
- Данные обновлены02.11.2026, 00:01
- Данные обновлены31.10.2026, 12:00
- Данные обновлены30.10.2026, 15:58
- Данные обновлены28.10.2026, 23:51
- Данные обновлены28.10.2026, 18:00
- Опубликована28.10.2026, 15:17
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| 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 |