Обработка пакетов ULE в DVB-драйвере Linux выходит за границы буфера

vulnerability

В ядре Linux нашлась уязвимость, из-за которой драйвер цифрового телевидения и спутникового доступа читает и изменяет память за пределами выделенного буфера. Проблема затрагивает сетевой компонент DVB - подсистему, отвечающую за приём и передачу данных через спутниковые и эфирные каналы. Отправляя специально сформированные пакеты, удалённый злоумышленник способен повлиять на конфиденциальность, целостность и доступность защищаемой информации. Идентификатор уязвимости в международной базе - CVE-2026-31405, в Банке данных угроз безопасности информации ФСТЭК России она значится под номером BDU:2026-12506.

Детали уязвимости

Под удар попадает функция, разбирающая расширения ULE. Аббревиатура расшифровывается как однонаправленная облегчённая инкапсуляция - это способ упаковки сетевых пакетов в транспортный поток DVB. Такой механизм применяют для передачи данных через спутник, в сетях вещания и в гибридных схемах доставки контента. Разбор заголовков и расширений выполняет сетевой модуль DVB-драйвера. Если длина или смещение поля в принятом пакете указаны некорректно, проверка выходит за границы буфера. Злоумышленник управляет этим полем, поэтому может задать нужные ему значения.

Ошибка относится к классу выхода операции за границы буфера в памяти. В описании перечислены сразу три разновидности: выход за границы буфера, чтение за границами и неправильная проверка индекса либо смещения. Чтение чужих данных из памяти ядра раскрывает содержимое буферов, которые не предназначены для внешнего наблюдателя. Кроме того, это открывает путь к повреждению служебных структур ядра. Способ эксплуатации в бюллетене определён как манипулирование структурами данных.

Оценка по шкале CVSS версии 3.1 составляет 9,8 из 10. Вектор описывает атаку по сети, без предварительной аутентификации и без участия пользователя. Значит, для срабатывания не нужно ни входить в систему, ни открывать файл, ни переходить по ссылке. По версии CVSS 2.0 оценка равна 9. Уровень опасности в Банке данных угроз обозначен как критический. Успешная эксплуатация ведёт к полной потере конфиденциальности, целостности и доступности информации на уязвимом узле.

Масштаб затронутых систем широк. Проблема присутствует в ядрах Linux начиная с ветки 2.6.12 и вплоть до 6.19.8, причём речь идёт о нескольких диапазонах, для которых уже подготовлены исправления. В список входят дистрибутивы Ubuntu от 14.04 до 24.04 LTS включительно, Debian GNU/Linux с 11 по 13, а также отечественные Альт 8 СП и АЛЬТ СП 10. Стоит учесть, что подсистема DVB нужна не только владельцам телевизионных карт в домашних компьютерах. Спутниковые шлюзы, медиасерверы, системы мониторинга транспорта и промышленные узлы связи тоже используют такие драйверы. Поэтому потенциальный ущерб выходит далеко за рамки частных сценариев и затрагивает корпоративную и государственную инфраструктуру.

Исправления подготовлены. Ядро Linux получило патчи в стабильных ветках, они опубликованы в официальном репозитории проекта. Разработчики Debian и Ubuntu отслеживают проблему в своих системах безопасности и готовят обновления пакетов. Для Альт 8 СП и АЛЬТ СП 10 свежие сборки лежат в публичном репозитории. Установка актуальной версии ядра закрывает уязвимость целиком, понижения привилегий не требуется.

Если обновление по каким-то причинам недоступно, ФСТЭК России советует опираться на методический документ "Рекомендации по безопасной настройке операционных систем LINUX", утверждённый 25 декабря 2022 года. Документ описывает ограничение сетевого доступа к узлу, разграничение прав пользователей и другие меры. На практике помогает и отключение неиспользуемых DVB-устройств. Когда спутниковый или эфирный приёмник на сервере не нужен, его драйвер лучше не загружать вовсе. Тогда код, содержащий ошибку, просто не выполняется, и атака теряет смысл.

Драйверы периферийных подсистем попадают в новости реже, чем веб-приложения и сетевые службы. При этом они работают с теми же привилегиями, что и само ядро. Ошибка разбора пакетов в модуле DVB наглядно показывает, насколько широкой стала поверхность атаки в современных операционных системах. Модуль отвечает за конкретную задачу - приём вещательного потока, но его сбой открывает доступ ко всей памяти узла. Именно поэтому обновлять ядро стоит не только на серверах с открытыми сетевыми портами, но и на машинах, которые принимают внешние медиапотоки.

Ссылки

Комментарии: 0