CVE: CVE-2026-74737
Продукт: Linux Kernel
Дата публикации: 26.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,56%; процентиль 44,17%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
Уязвимость в драйвере сетевого контроллера TI AM65 CPSW Nuss приводит к чтению памяти вне границ и падению ядра. Ошибка возникает при обработке входящих пакетов из-за некорректной экстракции идентификатора порта из аппаратного тега. Статья описывает механику сбоя, затронутые версии ядра и способы проверки исправления.
Основные характеристики
Риск представляет собой отказ в обслуживании (DoS) на уровне ядра, вызываемый сетевым трафиком. Сбой приводит к падению системы, что критично для промышленных и сетевых узлов на базе процессоров TI.
- Тип ошибки: Чтение памяти вне границ (Out-of-bounds Read) в драйвере
am65-cpsw-nuss.
- CVSS 3.1: 9.8 (CRITICAL). Вектор:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Высокая оценка отражает сетевой вектор атаки и отсутствие необходимости в привилегиях.
- Условия атаки: Атакующий должен иметь сетевой доступ к устройству с уязвимым контроллером. Пользовательское взаимодействие не требуется.
- Эксплуатация: Подтверждено наблюдение периодических падений ядра (sporadic kernel crash) при обработке пакетов. Публичный эксплойт в виде готового PoC в источниках не указан.
- EPSS: 0,56% (процентиль 44,17%). Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая, но риск для конкретных платформ остается высоким.
Какие продукты и версии затронуты
Уязвимость затрагивает драйвер
am65-cpsw-nuss в ядре Linux, используемый на платформах Texas Instruments AM65x и J721e.- Версии ядра: Ошибка была введена в коммите
93a76530316aи присутствует в версиях, содержащих этот коммит, до момента применения исправлений.
- Исправленные ветки: Патч был применен в ветках stable (6.12.x, 6.11.x, 6.10.x, 6.9.x, 6.8.x, 6.6.x, 6.1.x, 5.15.x) и mainline.
- Платформы: Системы, использующие сетевой контроллер TI AM65 CPSW Nuss. Для других платформ драйвер не используется, поэтому они не подвержены риску.
Причина уязвимости
Причина ошибки заключается в некорректной обработке метаданных RX DMA дескриптора в функции
am65_cpsw_nuss_rx_packets.Драйвер извлекает идентификатор MAC-порта из 16-битного поля Source Tag с помощью функции
cppi5_desc_get_tags_ids(). Согласно спецификации оборудования, только младшие 8 бит этого поля содержат валидный идентификатор порта. Старшие 8 бит являются аппаратно зарезервированными и могут содержать произвольные значения.В исходном коде отсутствовала маска для отсечения старших бит. В результате переменная
port_id могла принимать значения, выходящие за пределы диапазона валидных портов. Это приводило к обращению к памяти вне границ при последующем использовании port_id для индексации структур данных драйвера.Как работает атака
Атака реализуется через отправку сетевых пакетов на уязвимый интерфейс. При обработке пакета драйвер извлекает
port_id из метаданных DMA.Если в аппаратно зарезервированных битах Source Tag присутствует ненулевое значение, итоговый
port_id становится невалидным. Драйвер использует это значение для доступа к массиву портов. Поскольку проверка границ отсутствует, происходит чтение памяти вне выделенного буфера.В зависимости от состояния памяти это может привести к:
- Падению ядра (kernel panic) из-за доступа к невалидному адресу.
- Чтению случайных данных из памяти ядра, что потенциально может привести к утечке информации, хотя основной наблюдаемый эффект — это отказ в обслуживании.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости атакующему необходимо:
- Сетевой доступ: Возможность отправлять IP-пакеты на сетевой интерфейс, обслуживаемый драйвером
am65-cpsw-nuss.
- Целевая платформа: Устройство должно использовать процессоры TI AM65x или J721e с соответствующим сетевым контроллером.
- Уязвимое ядро: Система должна работать на версии ядра, не содержащей исправление (коммит
36a05d2820077bb3955acb8111e1041d39148037и его backports).
Возможный сценарий атаки
Атакующий сканирует сеть в поисках устройств на базе TI AM65. После идентификации целевой системы он отправляет на ее сетевой интерфейс поток пакетов.
При обработке этих пакетов драйвер извлекает
port_id из метаданных. Если в зарезервированных битах тега присутствует значение, приводящее к невалидному port_id, драйвер обращается к памяти вне границ.Это вызывает сбой в контексте ядра, что приводит к падению системы. Атакующий может повторять отправку пакетов для поддержания состояния отказа в обслуживании.
Есть ли публичный эксплойт
В доступных официальных источниках (NVD, git.kernel.org) не опубликован готовый PoC или эксплойт-код.
Однако в описании CVE указано, что «sporadic kernel crash is observed» (наблюдаются периодические падения ядра). Это подтверждает, что уязвимость эксплуатируема в реальных условиях, хотя механизм может зависеть от конкретных значений в аппаратно зарезервированных битах, которые могут варьироваться в зависимости от состояния оборудования.
Признаки эксплуатации
Специфичные IOC для этой уязвимости не определены, так как сбой проявляется как падение ядра, а не как скрытая активность.
Неспецифичные признаки, которые могут указывать на эксплуатацию:
- Падения ядра (Kernel Panic): Логи
dmesgилиjournalctlс сообщениями об OOB-чтении или сегфолте в модулеam65-cpsw-nuss.
- Аномальный сетевой трафик: Потоки пакетов, направленных на интерфейс, обслуживаемый уязвимым драйвером, особенно если они не соответствуют легитимному трафику.
- Незапланированные перезагрузки: Частые перезагрузки системы без видимых причин на оборудовании TI AM65.
Как обнаружить атаку
Для обнаружения эксплуатации или сбоев, вызванных этой уязвимостью, рекомендуется:
- Мониторинг логов ядра: Настройка алертов на сообщения
kernel: BUG: unable to handle page faultилиgeneral protection faultс упоминаниемam65-cpsw-nuss.
- Анализ сетевых журналов: Отслеживание аномальных всплесков трафика на интерфейсах, использующих драйвер
am65-cpsw-nuss.
- Проверка версии ядра: Регулярная сверка версии ядра с списком исправленных версий, чтобы убедиться в наличии патча.
Как проверить свою версию
Для проверки версии ядра и наличия уязвимости используйте следующие команды:
Bash:
uname -r
uname -a
cat /proc/version
Сравните полученную версию с коммитами исправлений в git.kernel.org. Если ваша версия ядра старше коммитов, перечисленных в разделе «Исправление», и не содержит патча
port_id &= 0xFF, система уязвима.Также можно проверить наличие модуля:
Bash:
lsmod | grep am65_cpsw_nuss
Если модуль загружен, а ядро не обновлено, риск присутствует.
Исправление
Единственный надежный способ устранения уязвимости — обновление ядра до версии, содержащей исправление.
- Mainline: Коммит
36a05d2820077bb3955acb8111e1041d39148037.
- Stable 6.12.x: Коммит
14fc40bf28390e0ebee6a072457c36b82c614100.
- Stable 6.11.x: Коммит
1c0e35ce761131f82062222779d8574849790892.
- Stable 6.10.x: Коммит
46a8e084a159e638ac2728e96980b65d752d65fd.
- Stable 6.9.x: Коммит
551688b410d3fb0dae7739724422f268cd9446d6.
- Stable 6.8.x: Коммит
72e4e3d7efc3b7d85f86abbe8b94f8e45074abe3.
- Stable 6.1.x: Коммит
914e0100df3435bd14d09f397238e891cf9b7dce.
- Stable 5.15.x: Коммит
9a220225efd6f58350bbb53fe70bdec08519267f.
Обновите ядро через пакетный менеджер дистрибутива или пересоберите его из исходников с включенными патчами.
Временные меры защиты
Пока обновление ядра не выполнено, можно снизить риск:
- Изоляция интерфейса: Если возможно, отключите сетевой интерфейс, обслуживаемый драйвером
am65-cpsw-nuss, или ограничьте доступ к нему файрволом.
- Фильтрация трафика: Настройте правила iptables/nftables для блокировки нежелательного трафика на уязвимый интерфейс.
- Мониторинг: Усиленный мониторинг логов ядра на предмет сбоев, чтобы быстро реагировать на попытки эксплуатации.
Как проверить устранение уязвимости
После обновления ядра убедитесь, что исправление применено:
- Проверьте версию ядра:
uname -r.
- Убедитесь, что версия соответствует или превышает версию, содержащую патч (см. раздел «Исправление»).
- Проверьте наличие строки
port_id &= 0xFFв исходном коде драйвера, если вы пересобирали ядро вручную.
- Проведите нагрузочное тестирование сетевого интерфейса, чтобы убедиться в отсутствии падений ядра.
Вывод
CVE-2026-74737 представляет собой критическую уязвимость в драйвере сетевого контроллера TI AM65, ведущую к отказу в обслуживании. Хотя вероятность массовой эксплуатации (EPSS) низкая, для систем на базе TI AM65x и J721e это серьезный риск.
Администраторам необходимо срочно обновить ядро до исправленных версий и проверить наличие патча. До обновления рекомендуется ограничить сетевой доступ к уязвимым интерфейсам.
Официальные источники
- NVD — CVE-2026-74737
- FIRST EPSS — CVE-2026-74737
- net: ethernet: ti: am65-cpsw-nuss: Fix port_id extraction from SRC TAG - kernel/git/stable/linux.git - Linux kernel stable tree
- net: ethernet: ti: am65-cpsw-nuss: Fix port_id extraction from SRC TAG - kernel/git/stable/linux.git - Linux kernel stable tree
- net: ethernet: ti: am65-cpsw-nuss: Fix port_id extraction from SRC TAG - kernel/git/stable/linux.git - Linux kernel stable tree
- net: ethernet: ti: am65-cpsw-nuss: Fix port_id extraction from SRC TAG - kernel/git/stable/linux.git - Linux kernel stable tree
- net: ethernet: ti: am65-cpsw-nuss: Fix port_id extraction from SRC TAG - kernel/git/stable/linux.git - Linux kernel stable tree
- net: ethernet: ti: am65-cpsw-nuss: Fix port_id extraction from SRC TAG - kernel/git/stable/linux.git - Linux kernel stable tree
- net: ethernet: ti: am65-cpsw-nuss: Fix port_id extraction from SRC TAG - kernel/git/stable/linux.git - Linux kernel stable tree
- net: ethernet: ti: am65-cpsw-nuss: Fix port_id extraction from SRC TAG - kernel/git/stable/linux.git - Linux kernel stable tree
История обновлений статьи
- 28.08.2026 — Опубликована первая версия материала.
