CVE: CVE-2026-80754
Продукт: Linux Kernel
Дата публикации: 03.09.2026
Критичность: HIGH
CVSS: 7.8 (3.1)
EPSS: 0,16%; процентиль 5,88%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В драйвере
synaptics-rmi4 ядра Linux обнаружена ошибка, приводящая к вычислению завышенного размера диагностического отчёта.Причина — опечатка при копировании кода: количество передающих электродов (TX) ошибочно приравнивалось к количеству принимающих (RX). На устройствах с асимметричной сеткой электродов это вызывает доступ вне границ буфера (Out-of-Bounds) в ядре.
Статья описывает механику ошибки, условия её проявления и способы проверки исправления.
Основные характеристики
Риск связан с локальным доступом к памяти ядра через драйвер сенсорного ввода. Ошибка приводит к некорректному вычислению размера буфера, что может быть использовано для повышения привилегий или отказа в обслуживании.
- Тип ошибки: Out-of-Bounds (OOB) buffer access (доступ вне границ буфера).
- CVSS 3.1: 7.8 (HIGH). Вектор:
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.
- Условия атаки: Локальный доступ (AV:L), низкие привилегии (PR:L), отсутствие необходимости взаимодействия пользователя (UI:N).
- Эксплуатация: Публичные данные о подтверждённой эксплуатации в реальных атаках отсутствуют.
- EPSS: 0,16% (вероятность эксплуатации в ближайшие 30 дней). Процентиль: 5,88%.
Какие продукты и версии затронуты
Уязвимость затрагивает ядра Linux, в которых включён драйвер
synaptics-rmi4 и реализована поддержка функции F55 (sensor tuning).- Компонент:
drivers/input/rmi4/rmi_f55.c.
- Условие проявления: Наличие в системе сенсорного устройства, использующего протокол RMI4 с функцией F55, и асимметрия в количестве электродов (RX > TX).
- Версии: Точные номера версий пакетов для дистрибутивов не раскрыты в доступных источниках. Уязвимость была введена в коммитах
6adba43fd222иc762cc68b6a1.
Причина уязвимости
Причина ошибки — опечатка при копировании кода (copy-paste typo) в функции
rmi_f55_detect.В коде драйвера значение переменной
cfg_num_tx_electrodes (количество передающих электродов) ошибочно присваивалось из переменной num_rx_electrodes (количество принимающих электродов). Аналогичная ошибка присутствовала при передаче данных в структуру drv_data.Из-за этого драйвер получал завышенное количество TX-электродов. Это значение использовалось функцией F54 для расчёта размера диагностического отчёта. На устройствах, где количество RX-электродов превышает количество TX-электродов, расчётный размер буфера оказывался больше фактического, что создавало условия для доступа вне границ выделенной памяти.
Как работает атака
Атака эксплуатирует некорректное вычисление размера буфера в ядре.
- Драйвер
synaptics-rmi4инициализирует сенсор и вызывает функциюrmi_f55_detect.
- Из-за ошибки в коде количество TX-электродов записывается в структуру данных с завышенным значением (равным количеству RX-электродов).
- Функция F54 использует это завышенное значение для определения размера диагностического отчёта.
- При формировании или обработке отчёта драйвер обращается к памяти, выходя за границы выделенного буфера (Out-of-Bounds access).
Локальный пользователь с низкими привилегиями может инициировать этот процесс, взаимодействуя с сенсорным устройством или вызывая соответствующие системные вызовы, что приводит к повреждению памяти ядра.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости необходимо соблюдение следующих условий:
- Локальный доступ: Атакующий должен иметь доступ к системе (AV:L).
- Низкие привилегии: Достаточно прав обычного пользователя (PR:L).
- Аппаратное обеспечение: В системе должен быть установлен сенсорный контроллер, поддерживающий протокол RMI4 и функцию F55.
- Асимметрия электродов: Количество RX-электродов должно быть строго больше количества TX-электродов. На симметричных устройствах ошибка не приводит к OOB-доступу.
- Загрузка драйвера: Модуль
synaptics-rmi4должен быть загружен в ядро.
Возможный сценарий атаки
Локальный пользователь с правами обычного пользователя получает доступ к системе с сенсорным экраном на базе RMI4.
Пользователь взаимодействует с сенсорной поверхностью или вызывает системные функции, связанные с диагностикой сенсора. Драйвер
synaptics-rmi4 обрабатывает запрос и вызывает функцию F55 для настройки сенсора.В процессе инициализации драйвер записывает завышенное количество TX-электродов в структуру данных. Функция F54 использует это значение для вычисления размера диагностического отчёта. При выделении или обработке буфера отчёта происходит доступ к памяти за границами выделенного блока.
В результате может произойти повреждение данных ядра, что приведёт к падению системы (Denial of Service) или, при удачном стечении обстоятельств, к выполнению кода с привилегиями ядра (Privilege Escalation).
Есть ли публичный эксплойт
Публичные данные о подтверждённой эксплуатации CVE-2026-80754 в реальных атаках отсутствуют.
- PoC: Публично доступных Proof-of-Concept кодов в открытых базах данных не зафиксировано.
- Техническое описание: Механика ошибки подробно описана в коммитах исправления в репозитории ядра Linux.
- Эксплуатация: Сведений о том, что уязвимость активно используется злоумышленниками, нет.
Отсутствие публичных эксплойтов не означает, что уязвимость не может быть эксплуатирована. Локальный атакующий с техническими знаниями может разработать собственный эксплойт на основе описанной механики OOB-доступа.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для CVE-2026-80754 не опубликованы.
Для выявления атаки можно использовать общие (неспецифичные) точки контроля:
- Журналы ядра: Поиск записей о сбоях драйвера
synaptics-rmi4илиrmi4.
- Сегфолты ядра: Анализ
dmesgили/var/log/kern.logна наличие сообщений об OOB-доступе или повреждении памяти в контексте драйвера ввода.
- Аномалии в работе сенсора: Необъяснимые сбои или зависания сенсорного экрана, не связанные с аппаратными проблемами.
Как обнаружить атаку
Обнаружение атаки или проявления уязвимости основывается на мониторинге журналов ядра и состояния драйвера.
- Мониторинг dmesg: Отслеживание сообщений об ошибках в драйвере
rmi4илиsynaptics-rmi4. Ищите строки, содержащиеrmi4,F55,F54илиout of bounds.
- Анализ core dumps: Если система падает, анализ дампа памяти может выявить повреждение памяти в стеке или куче ядра, связанное с драйвером ввода.
- Проверка конфигурации: Убедитесь, что драйвер
synaptics-rmi4не используется на системах, где сенсорный ввод не требуется, или что он обновлён до исправленной версии.
Как проверить свою версию
Для проверки текущей версии ядра и наличия исправления используйте следующие команды:
Bash:
uname -r
uname -a
cat /proc/version
Чтобы проверить, включён ли драйвер
synaptics-rmi4 в ядро:
Bash:
lsmod | grep synaptics_rmi4
Для проверки наличия конкретного коммита исправления в исходном коде ядра (если вы компилируете ядро самостоятельно):
Bash:
git log --oneline | grep 6058f0fea10f
Если вы используете дистрибутив, проверьте наличие обновлений через пакетный менеджер (например,
apt list --upgradable | grep linux для Debian/Ubuntu).Исправление
Единственный надёжный способ устранения уязвимости — обновление ядра Linux до версии, содержащей исправление.
- Коммит исправления:
6058f0fea10f3caf63a435677358d1b8e9325114.
- Обновление дистрибутива: Используйте штатные механизмы обновления пакетов вашего дистрибутива. Убедитесь, что пакет ядра обновлён до последней доступной версии.
- Пересборка ядра: Если вы используете кастомное ядро, примените патч из официального репозитория Linux и пересоберите ядро.
После обновления перезагрузите систему для загрузки нового ядра.
Временные меры защиты
Пока обновление не установлено, можно применить следующие временные меры:
- Отключение драйвера: Если сенсорный ввод не требуется, отключите модуль
synaptics-rmi4.
Bash:sudo modprobe -r synaptics_rmi4
Чтобы запретить автоматическую загрузку модуля, добавьте строкуblacklist synaptics_rmi4в файл/etc/modprobe.d/blacklist.conf.
- Ограничение доступа: Ограничьте доступ к системе пользователям, которым не требуется работа с сенсорным устройством.
- Изоляция: Если возможно, изолируйте системы с уязвимым сенсорным оборудованием от критичных ресурсов.
Как проверить устранение уязвимости
После обновления ядра выполните следующие шаги для проверки исправления:
- Проверка версии ядра:
Bash:uname -r
Убедитесь, что версия соответствует последней доступной для вашего дистрибутива.
- Проверка загрузки драйвера:
Bash:lsmod | grep synaptics_rmi4
Если драйвер используется, убедитесь, что он загружен из обновлённого модуля.
- Проверка журналов:
Bash:dmesg | grep -i "rmi4\|synaptics"
Убедитесь, что отсутствуют новые ошибки или предупреждения, связанные с драйвером после перезагрузки.
- Функциональное тестирование: Проверьте работоспособность сенсорного ввода, если он используется в системе.
Вывод
CVE-2026-80754 представляет собой локальную уязвимость в драйвере
synaptics-rmi4, ведущую к OOB-доступу в ядре. Риск актуален для систем с асимметричным сенсорным оборудованием RMI4.Администраторам рекомендуется обновить ядро до исправленной версии или отключить драйвер, если сенсорный ввод не требуется. Мониторинг журналов ядра поможет выявить возможные проявления ошибки до применения патча.
Официальные источники
- NVD — CVE-2026-80754
- FIRST EPSS — CVE-2026-80754
- Input: synaptics-rmi4 - fix F55 transmitter electrode count typo - kernel/git/stable/linux.git - Linux kernel stable tree
- Input: synaptics-rmi4 - fix F55 transmitter electrode count typo - kernel/git/stable/linux.git - Linux kernel stable tree
- Input: synaptics-rmi4 - fix F55 transmitter electrode count typo - kernel/git/stable/linux.git - Linux kernel stable tree
- Input: synaptics-rmi4 - fix F55 transmitter electrode count typo - kernel/git/stable/linux.git - Linux kernel stable tree
- Input: synaptics-rmi4 - fix F55 transmitter electrode count typo - kernel/git/stable/linux.git - Linux kernel stable tree
- Input: synaptics-rmi4 - fix F55 transmitter electrode count typo - kernel/git/stable/linux.git - Linux kernel stable tree
- Input: synaptics-rmi4 - fix F55 transmitter electrode count typo - kernel/git/stable/linux.git - Linux kernel stable tree
- Input: synaptics-rmi4 - fix F55 transmitter electrode count typo - kernel/git/stable/linux.git - Linux kernel stable tree
История обновлений статьи
- 06.09.2026 — Опубликована первая версия материала.
