Доверяете подписям в apt? В Debian и Ubuntu их можно обойти и подсунуть пакет с правами root

leer en español

1538
Доверяете подписям в apt? В Debian и Ubuntu их можно обойти и подсунуть пакет с правами root

Хакер с доступом к трафику подменит DEB-пакет, и подпись не заметит

image

В Debian и Ubuntu обнаружили опасную уязвимость, позволяющую хакерам подменять программные пакеты и получать права root. Причём встроенная проверка цифровых подписей не спасает от атаки. Проблема затрагивает один из главных механизмов безопасности Linux.

Уязвимость CVE-2026-109518 обнаружил исследователь Макс Юстич (Max Justicz). Ошибка присутствует в менеджере пакетов APT, через который пользователи Debian, Ubuntu и производных дистрибутивов устанавливают программы и обновления. Canonical оценила опасность в 7,7 балла по CVSS 4.0 и 4 ноября 2026 года выпустила исправления.

Для атаки злоумышленнику необходимо контролировать HTTP-трафик между компьютером и сервером с пакетами. Подойдёт, например, скомпрометированный прокси или вредоносное зеркало репозитория. При определённых условиях атакующий может заменить загружаемый DEB-пакет собственным файлом, который APT установит, несмотря на отсутствие успешной проверки подписи.

Причина кроется в неправильной обработке жёстких ссылок на файлы при перенаправлениях HTTP-запросов и повторных попытках загрузки. APT может объединить две загрузки с одинаковым конечным адресом и перезаписать уже проверенный файл. В результате менеджер пакетов теряет гарантию, что устанавливаемый файл совпадает с прошедшим проверку.

Последствия могут оказаться серьёзными. При установке DEB-пакетов система выполняет служебные сценарии с привилегиями root. Подменив пакет, атакующий потенциально получает возможность запускать произвольные команды с максимальными правами. Уязвимость затрагивает не только apt и apt-get, но и aptitude, а также графические приложения Ubuntu, использующие библиотеку APT.

Для успешной атаки необходимы перенаправление загрузки и повторное скачивание файла. Параметр Acquire::Retries должен иметь ненулевое значение. Начиная с Debian 12 и Ubuntu 22.04 LTS, по умолчанию установлено значение 3. Более старые выпуски уязвимы только при соответствующем изменении конфигурации. Пакеты Snap проблема не затрагивает, поскольку для их установки используется другой механизм.

Исправления подготовлены для Ubuntu 22.04, 24.04, 26.04 и 26.10. Для более старых выпусков патчи доступны через Ubuntu Pro с соответствующими условиями поддержки. В Debian 12 проблему устраняет APT 2.6.2, а в Debian 13 потребуется версия 3.0.4. Подробности и рекомендации Canonical изложила в разборе уязвимости.

До установки исправлений разработчики рекомендуют временно отключить повторные попытки загрузки, задав Acquire::Retries=0. Для обновления можно использовать команду sudo apt update && sudo apt upgrade -o Acquire::Retries=0. Переход репозиториев на HTTPS также защищает от подмены трафика в сети, но не устраняет угрозу со стороны вредоносного зеркала.

Разработчики подчёркивают, что после установки патча механизм цифровых подписей снова обеспечивает защиту целостности пакетов независимо от надёжности промежуточных серверов. Владельцам Linux-систем полезно проверить настройки обновлений и убедиться, что исправленная версия APT действительно установлена.