CVE-2026-99282
net/sched: sch_teql: fix use-after-free on lower qdisc drop
Что произошло
In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_teql: fix use-after-free on lower qdisc drop The issue: teql_master_xmit() tests the slave's ndo_start_xmit() return value against NETDEV_TX_OK alone. A slave that consumes the skb but returns an error code (rc dev and calls __skb_pull() on it. A VLAN slave returns the result of dev_queue_xmit() from its ndo_start_xmit() (propagated since cbbef5e18307), and when the lower qdisc drops the packet that value is NET_XMIT_DROP after the skb has been freed, giving a use-after-free in teql_master_xmit(). The Fix: test for consumption with dev_xmit_complete(), which accepts NETDEV_TX_OK and every rc < NET_XMIT_MASK, matching other callers that need to distinguish consumed results from busy. Only NETDEV_TX_OK keeps the packet counted in tx_packets/tx_bytes and advances the slave; a consumed result that is neither a success nor NET_XMIT_CN ends the attempt and is charged to tx_dropped, so lower-qdisc drops are no longer reported as good transmits. NET_XMIT_CN is counted like success because it can accompany acceptance of the current packet: pfifo_head_drop drops the old head, enqueues the current skb and returns NET_XMIT_CN. Conditions to recreate the bug: With CONFIG_NET_SCH_TEQL, CONFIG_VLAN_8021Q and CONFIG_DUMMY enabled, add lkrdummy0 (dummy) and lkrvlan0 (VLAN id 37 on lkrdummy0); set a pfifo limit 0 root on lkrdummy0 and a teql0 root on lkrvlan0; bring teql0 up with an address and send one UDP packet to it. The VLAN xmit returns NET_XMIT_DROP from the lower qdisc while holding a freed skb.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
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": "572a9d7b6fc7f20f573664063324c086be310c42",
"lessThan": "fc55d92ae6a4b2e7d062cad6d4c67f6b061d9cde",
"versionType": "git"
}{
"status": "affected",
"version": "572a9d7b6fc7f20f573664063324c086be310c42",
"lessThan": "2702ae318630787c640ec0d0403ffd9d95c43e9e",
"versionType": "git"
}{
"status": "affected",
"version": "572a9d7b6fc7f20f573664063324c086be310c42",
"lessThan": "782d6bb8f9b8e9d8591181662222bf74cd3ecf79",
"versionType": "git"
}Linux / Linux
{
"status": "affected",
"version": "2.6.33"
}{
"status": "unaffected",
"version": "0",
"lessThan": "2.6.33",
"versionType": "semver"
}{
"status": "unaffected",
"version": "6.18.61",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
}{
"status": "unaffected",
"version": "7.3.2",
"versionType": "semver",
"lessThanOrEqual": "7.3.*"
}{
"status": "unaffected",
"version": "7.4-rc1",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}CVSS: оценки и векторы
Оценка CVSS отсутствует.
Источники и ссылки
Происхождение полей
{
"cwes": [],
"title": {
"source": "cve",
"received_at": "2026-11-07T14:20:15.548930+00:00"
},
"scores": [],
"status": {
"source": "cve",
"received_at": "2026-11-07T14:20:15.548930+00:00"
},
"affected": [
"cve"
],
"published": {
"source": "cve",
"received_at": "2026-11-07T14:20:15.548930+00:00"
},
"solutions": [],
"references": [
"cve",
"ghsa",
"nvd"
],
"description": {
"source": "cve",
"received_at": "2026-11-07T14:20:15.548930+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены07.11.2026, 19:00
- Опубликована07.11.2026, 17:20
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-99284 net: skbuff: propagate shared-frag marker in skb_zerocopy() Linux / Linux | Информационный | — | — | 07.11.2026 | ||
| CVE-2026-99283 netfilter: conntrack: tcp: use UNACK timeout for non-closing RST packets Linux / Linux | Информационный | — | — | 07.11.2026 | ||
| CVE-2026-99279 ksmbd: reclaim ended sessions on logoff and expiration Linux / Linux | Информационный | — | — | 07.11.2026 | ||
| CVE-2026-99280 ksmbd: drain session procfs readers before dropping table references Linux / Linux | Информационный | — | — | 07.11.2026 | ||
| CVE-2026-99281 tun: Require CAP_NET_ADMIN to attach to an ownerless device Linux / Linux | Информационный | — | — | 07.11.2026 |