CVE-2026-80732 в Linux Kernel: use-after-free в pata_sl82c105

CVE: CVE-2026-80732
Продукт: Linux Kernel
Дата публикации: 03.09.2026
Критичность: HIGH
CVSS: 7.8 (3.1)
EPSS: 0,16%; процентиль 5,39%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В драйвере pata_sl82c105 обнаружена ошибка use-after-free, возникающая при чтении версии моста после освобождения ссылки на PCI-устройство. Дефект введён коммитом 44c10138fd4b и устранён в стабильных ветках ядра. Статья описывает механику нарушения порядка управления памятью, условия проявления и порядок проверки исправлений.

Основные характеристики​


Риск связан с обращением к освобождённой памяти в драйвере PATA, что может нарушить целостность данных ядра или вызвать отказ в обслуживании. Дефект затрагивает узкий круг систем с конкретным контроллером.

  • Тип ошибки: Use-after-free. Драйвер обращается к полю revision структуры pci_dev после вызова pci_dev_put(), когда память устройства может быть уже освобождена.
  • 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. Оценка отражает локальный вектор с низким порогом сложности и высоким воздействием на конфиденциальность, целостность и доступность.
  • Эксплуатация: Подтверждённая эксплуатация в реальных атаках не зафиксирована. CVE отсутствует в каталоге CISA KEV.
  • EPSS: 0,16% (0.00159). Процентиль 5,39%. Низкая вероятность эксплуатации в ближайшем будущем, что соответствует узкому кругу затронутых устройств.

Какие продукты и версии затронуты​


Уязвимость затрагивает ядро Linux, в котором скомпилирован драйвер pata_sl82c105.

  • Компонент: drivers/ata/pata_sl82c105.c.
  • Устройства: Системы с контроллером Silicon Image SL82C105 (PATA).
  • Версии: Ошибка введена коммитом 44c10138fd4b и присутствует во всех версиях ядра, содержащих этот коммит, до момента применения исправлений. Точный список уязвимых версий пакетов зависит от дистрибутива; официальные данные о конкретных версиях пакетов в предоставленных источниках отсутствуют.
  • Исправления: Патчи применены в стабильных ветках ядра (stable tree) и mainline. Конкретные номера версий дистрибутивов не указаны в источниках.

Причина уязвимости​


Причина ошибки заключается в нарушении порядка управления ссылками на PCI-устройства в функции sl82c105_bridge_revision.

Коммит 44c10138fd4b заменил чтение конфигурационного пространства на прямое обращение к кэшированному полю pci_device->revision. Однако разработчики оставили это обращение после вызова pci_dev_put(), который освобождает ссылку на устройство.

В результате, когда драйвер пытается прочитать bridge->revision, память, на которую указывает bridge, может уже быть освобождена и переиспользована. Это классический сценарий use-after-free, нарушающий целостность памяти ядра.

Как работает атака​


Атака эксплуатирует сбой в управлении памятью при инициализации или работе драйвера PATA.

Драйвер pata_sl82c105 инициализируется на системе с соответствующим контроллером. Функция sl82c105_bridge_revision вызывается для получения версии моста. Она использует pci_get_slot(), который возвращает указатель на pci_dev с увеличенным счетчиком ссылок.

После получения указателя драйвер вызывает pci_dev_put(), уменьшая счетчик ссылок. Если это последняя ссылка, память освобождается. Далее код обращается к bridge->revision.

Если память была переиспользована, атакующий может контролировать содержимое поля revision или смежных структур, что позволяет повлиять на выполнение кода ядра или вызвать панику.

Условия успешной эксплуатации​


Для успешной эксплуатации уязвимости необходимо соблюдение следующих условий:

  • Аппаратная платформа: Система должна быть оснащена контроллером Silicon Image SL82C105, поддерживаемым драйвером pata_sl82c105.
  • Локальный доступ: Атакующий должен иметь доступ к системе с правами обычного пользователя (PR:L).
  • Загрузка драйвера: Драйвер pata_sl82c105 должен быть загружен в ядро и активен.
  • Уязвимая версия ядра: Ядро должно содержать коммит 44c10138fd4b и не содержать исправлений, перечисленных в источниках.

Возможный сценарий атаки​


Сценарий атаки предполагает локальное повышение привилегий на устаревшей системе с PATA-контроллером.

Атакующий получает доступ к системе с правами обычного пользователя. Если на машине установлен контроллер SL82C105 и драйвер pata_sl82c105 активен, при определенных условиях (например, при повторной инициализации или сбое) может произойти обращение к освобожденной памяти.

Атакующий может использовать техники heap spraying или контроль над переиспользуемой памятью для записи управляющих данных в место, где ранее находился pci_dev. Это позволяет изменить возвратный указатель или данные, используемые ядром, что приводит к выполнению кода с привилегиями ядра (root).

Есть ли публичный эксплойт​


Публичный эксплойт в виде готового PoC или подтвержденной эксплуатации в реальных атаках не обнаружен.

  • PoC: В предоставленных источниках отсутствуют ссылки на публичные PoC.
  • Техническое описание: Механика ошибки подробно описана в коммитах исправления, что позволяет теоретически разработать эксплойт.
  • Эксплуатация: В каталоге CISA KEV CVE-2026-80732 отсутствует, что указывает на отсутствие подтвержденных случаев массового использования.

Отсутствие публичного эксплойта не означает, что уязвимость не может быть эксплуатирована. Учитывая локальный вектор и узкий круг затронутых устройств, риск остается низким, но не нулевым.

Признаки эксплуатации​


Специфичные индикаторы компрометации (IOC) для CVE-2026-80732 не опубликованы.

  • Неспецифичные признаки:
    • Паника ядра (kernel panic) с упоминанием pata_sl82c105 или sl82c105_bridge_revision в логах.
    • Необъяснимые сбои при работе с PATA-дисками.
    • Аномальные записи в dmesg или /var/log/kern.log, связанные с ошибками памяти в драйвере ATA.

Эти признаки не являются уникальными для данной уязвимости и могут возникать по другим причинам. Их наличие требует дополнительной проверки, но не подтверждает факт атаки.

Как обнаружить атаку​


Обнаружение эксплуатации данной уязвимости затруднено из-за отсутствия специфичных IOC.

  • Мониторинг логов: Анализ dmesg и системных логов на предмет паник ядра, связанных с драйвером pata_sl82c105.
  • Проверка конфигурации: Идентификация систем с контроллером SL82C105 и загрузкой драйвера pata_sl82c105.
  • Аудит версий: Проверка установленных версий ядра на наличие уязвимых коммитов.

Рекомендуется включить в мониторинг отслеживание аномального поведения драйверов ATA и паник ядра, особенно на системах с устаревшим PATA-оборудованием.

Как проверить свою версию​


Для проверки версии ядра и наличия драйвера используйте следующие команды:

Bash:
uname -r
uname -a
cat /proc/version

Для проверки загрузки драйвера:

Bash:
lsmod | grep pata_sl82c105

Для проверки наличия контроллера:

Bash:
lspci | grep -i sl82c105

Если драйвер загружен и контроллер присутствует, система потенциально уязвима, если ядро не обновлено до версий, содержащих исправления.

Исправление​


Единственным надежным способом устранения уязвимости является обновление ядра до версий, содержащих исправления.

  • Исправления в ядре: Патчи применены в стабильных ветках Linux. Конкретные коммиты исправления: 1268ca9418e2, 56fd78c8c820, 5ef87b1b4656, 7700a31039cd, a626dfca9604, a837deeaa37c, dc711fb137b3, fa0dca89b4fb.
  • Обновление дистрибутива: Используйте официальные обновления от вашего дистрибутива Linux. Проверьте, включены ли данные коммиты в поставляемые пакеты ядра.
  • Перезагрузка: После обновления ядра требуется перезагрузка системы для применения новых модулей.

Не существует способа отключить уязвимость без обновления ядра, если драйвер pata_sl82c105 необходим для работы системы.

Временные меры защиты​


Временные меры защиты ограничены, так как уязвимость находится в ядре.

  • Отключение драйвера: Если контроллер SL82C105 не используется, можно отключить драйвер pata_sl82c105 через параметр загрузки ядра или blacklist-модуль. Это устранит триггер уязвимости.
  • Изоляция систем: Ограничьте доступ к системам с уязвимым контроллером, особенно если они не критичны для бизнеса.
  • Мониторинг: Усиленный мониторинг логов ядра на предмет аномалий.

Отключение драйвера является наиболее эффективной временной мерой, но может привести к потере доступа к PATA-дискам.

Как проверить устранение уязвимости​


Для проверки успешного применения исправлений:

  1. Проверка версии ядра: Убедитесь, что загружено ядро, содержащее исправления. Используйте uname -r и сравните с информацией от дистрибутива.
  2. Проверка коммитов: Если вы собираете ядро самостоятельно, убедитесь, что коммиты исправления присутствуют в истории.
  3. Функциональная проверка: Проверьте, что PATA-диски (если они используются) работают корректно после обновления.
  4. Логирование: Убедитесь, что в dmesg отсутствуют ошибки, связанные с pata_sl82c105.

Отсутствие ошибок и корректная работа системы после обновления подтверждают применение исправлений.

Вывод​


CVE-2026-80732 представляет собой уязвимость use-after-free в драйвере pata_sl82c105, затрагивающую узкий круг систем с контроллером SL82C105.

Риск эксплуатации в реальных атаках низок, что подтверждается отсутствием CVE в CISA KEV и низким EPSS. Однако для систем с уязвимым оборудованием рекомендуется обновить ядро до последних стабильных версий или отключить драйвер, если он не используется.

Администраторам следует включить в план обновления все системы с PATA-контроллерами Silicon Image.

Официальные источники​


  1. NVD — CVE-2026-80732
  2. FIRST EPSS — CVE-2026-80732
  3. ata: pata_sl82c105: fix bridge revision use-after-free - kernel/git/stable/linux.git - Linux kernel stable tree
  4. ata: pata_sl82c105: fix bridge revision use-after-free - kernel/git/stable/linux.git - Linux kernel stable tree
  5. ata: pata_sl82c105: fix bridge revision use-after-free - kernel/git/stable/linux.git - Linux kernel stable tree
  6. ata: pata_sl82c105: fix bridge revision use-after-free - kernel/git/stable/linux.git - Linux kernel stable tree
  7. ata: pata_sl82c105: fix bridge revision use-after-free - kernel/git/stable/linux.git - Linux kernel stable tree
  8. ata: pata_sl82c105: fix bridge revision use-after-free - kernel/git/stable/linux.git - Linux kernel stable tree
  9. ata: pata_sl82c105: fix bridge revision use-after-free - kernel/git/stable/linux.git - Linux kernel stable tree
  10. ata: pata_sl82c105: fix bridge revision use-after-free - kernel/git/stable/linux.git - Linux kernel stable tree

История обновлений статьи​


  • 06.09.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ