В подсистеме USB ядра Linux найдена уязвимость, из-за которой удалённый злоумышленник может воздействовать на конфиденциальность, целостность и доступность защищаемой информации. Речь идёт об ошибке в коде USB/IP - механизма, который передаёт доступ к USB-устройствам по сети. Запись данных выходит за пределы выделенной области памяти, и это происходит при обработке ответа удалённой стороны. Сведения внесены в Банк данных угроз безопасности информации под номером BDU:2026-12251, уязвимость получила идентификатор CVE-2026-31607. Производители подтвердили проблему, и патчи уже опубликованы в стабильных ветках ядра.
Детали уязвимости
Ошибка относится к двум классам: запись за границами буфера и доступ к буферу с неправильным значением длины. Первое означает, что программа записывает данные туда, где для них нет места. Второе - что она читает область памяти, рассчитывая на больший размер, чем есть на самом деле. Оба класса давно считаются одними из самых востребованных у атакующих, поскольку позволяют испортить служебные структуры и повлиять на ход выполнения кода. В данном случае сбой возникает в функции, которая собирает ответ на операцию обмена данными между клиентом и сервером USB/IP.
Ключевая особенность этой уязвимости в том, что для её использования не нужны ни учётная запись, ни действия пользователя. Атака идёт по сети, условия эксплуатации оцениваются как простые. По вектору CVSS 3.1 базовая оценка составляет 9,8 из 10, по более старой шкале CVSS 2.0 - 10 из 10. Разработчики классифицируют такие значения как критический уровень опасности. Вектор для четвёртой версии шкалы пока не задан, а данные о наличии готового эксплойта, то есть вредоносного кода, использующего уязвимость, уточняются. Подтверждённых сведений о применении в реальных атаках на момент публикации нет.
USB/IP применяется для того, чтобы работать с физическим USB-устройством с другого компьютера через сеть. Технология востребована в виртуализации, в лабораторных стендах и в инфраструктуре тонких клиентов, где периферию удобнее держать на сервере. Код входит в состав ядра, поэтому проблема затрагивает широкий круг систем сразу, а не отдельное приложение. Исправления вносились в основную ветку ядра и затем переносились в стабильные версии. По данным описания уязвимости, ошибка присутствует в ядрах начиная с версии 2.6.39 и до 6.12.82 включительно, а также в диапазонах от 6.13 до 6.18.23 и от 6.19 до 6.19.13. Иными словами, затронуты практически все актуальные линии поддержки, включая недавние.
Список пострадавших дистрибутивов широк. В него входят Ubuntu от 14.04 LTS до 26.04 LTS, Debian GNU/Linux 11, 12 и 13, Red Hat Enterprise Linux 7 в расширенной поддержке, а также линейки 9 и 10 вместе с их промежуточными выпусками. Российские сборки тоже затронуты: речь об Альт 8 СП и АЛЬТ СП 10. Для каждой платформы опубликованы собственные страницы сопровождения уязвимости, а для Debian, Red Hat и Ubuntu подготовлены отдельные уведомления.
Практический риск зависит от того, где именно работает USB/IP. Если сервис доступен из внешней сети, последствия наиболее серьёзны: удалённый злоумышленник получает возможность испортить память ядра, а это уже угрожает устойчивости всей системы и сохранности данных на ней. Если обмен USB/IP ограничен внутренним сегментом, порог входа выше, но остаётся риск для внутреннего нарушителя и для заражённых узлов локальной сети. Отдельный сценарий - серверы виртуализации, которые предоставляют доступ к USB-устройствам виртуальным машинам. Там ошибка в ядре хоста может затронуть сразу несколько изолированных окружений.
Исправление стандартное для подобных случаев: нужно обновить ядро до версии, в которой ошибка закрыта, либо установить пакет от вендора дистрибутива. Для Debian сведения собраны в трекере безопасности, для Red Hat - на портале поддержки, для Ubuntu - на странице уведомлений. Владельцам Альт 8 СП и АЛЬТ СП 10 рекомендуют забрать обновление из публичного репозитория и затем перезагрузить систему, потому что ядро обновляется только после перезапуска. Патчи также доступны в виде отдельных наборов изменений в репозитории ядра. Если обновление по каким-то причинам установить нельзя, ФСТЭК России советует опираться на методический документ "Рекомендации по безопасной настройке операционных систем LINUX", утверждённый 25 декабря 2022 года. Дополнительно стоит ограничить сетевой доступ к службам USB/IP, если они не нужны постоянно, и не выставлять их в интернет.
История с USB/IP показывает, насколько связанной стала инфраструктура на базе Linux. Один просчёт в обработке длины буфера затрагивает серверы, рабочие станции, виртуальные среды и отечественные сборки одновременно. Сроки установки обновлений при этом растягиваются: длительные циклы поддержки в корпоративных дистрибутивах означают, что часть парка получит патч заметно позже выхода основной версии. Поэтому для администраторов полезно заранее понимать, какие версии ядра работают в их контуре, и проверять их состояние перед следующим плановым обслуживанием.
Ссылки
- https://bdu.fstec.ru/vul/2026-12251
- https://www.cve.org/CVERecord?id=CVE-2026-31607
- https://git.kernel.org/stable/c/5e1c4ece08ccdc197177631f111845a2c68eede3
- https://git.kernel.org/stable/c/885c8591784da6314f9aa82fa460ac69f9f79e5f
- https://git.kernel.org/stable/c/8d155e2d1c4102f74f82a2bf9c016164bb0f7384
- https://git.kernel.org/stable/c/ef8ebb1c637b4cfb61a9dd2e013376774ee2033b
- https://git.kernel.org/stable/c/906f16a836de13fe61f49cdce2f66f2dbd14caf4
- https://www.cve.org/CVERecord?id=CVE-2026-31607
- https://git.kernel.org/linus/2ab833a16a825373aad2ba7d54b572b277e95b71
- https://security-tracker.debian.org/tracker/CVE-2026-31607
- https://access.redhat.com/security/cve/CVE-2026-31607
- https://ubuntu.com/security/CVE-2026-31607
- https://altsp.su/obnovleniya-bezopasnosti/