У популярному менеджері пакетів APT, який використовують Debian та Ubuntu, виявили серйозну вразливість CVE-2026-109518, що дозволяє зловмисникам підміняти перевірені програмні пакети шкідливими. У разі успішної атаки сторонній код може виконуватися з правами root, надаючи хакерам повний контроль над системою. Розробники обох дистрибутивів уже випустили виправлення.
Проблему виявив дослідник безпеки Макс Юстіц (Max Justicz), який повідомив розробників про помилку та допоміг підготувати виправлення. Вразливість отримала ідентифікатор CVE-2026-109518 та оцінку 7,7 бала за шкалою CVSS 4.0, що відповідає високому рівню небезпеки. Вона зачіпає APT, стандартний менеджер пакетів Debian, Ubuntu та похідних дистрибутивів Linux, який відповідає за встановлення й оновлення програмного забезпечення.
Особливість атаки полягає в тому, що зловмисник може замінити легітимний пакет уже після перевірки його цілісності. Зазвичай APT завантажує програмні пакети через HTTP, а їхню справжність перевіряє за допомогою цифрових підписів і криптографічних хешів. Якщо файл змінюється під час передавання, його контрольна сума не збігається з очікуваною, тому встановлення блокується.
Однак CVE-2026-109518 дозволяє обійти цей захист. Для експлуатації зловмисник повинен контролювати мережевий трафік між комп’ютером і сервером репозиторію. Це можливо, наприклад, через скомпрометовану мережу, шкідливе дзеркало пакетів або проксі-сервер, який має можливість змінювати HTTP-відповіді.
В офіційному повідомленні Ubuntu зазначено, що атакувальник, здатний маніпулювати HTTP-трафіком між системою та сервером архіву, може домогтися встановлення підконтрольного йому .deb-пакета та отримати права root.
За даними StepSecurity, проблема пов’язана з механізмом відновлення перерваних завантажень. За замовчуванням APT може повторювати невдале завантаження до трьох разів, продовжуючи передавання з місця зупинки, а не починаючи його заново. Саме цю особливість дослідники визначили як основу атаки.
Спочатку зловмисник перехоплює два запити на завантаження різних пакетів і перенаправляє їх на одну URL-адресу. Через це APT помилково пов’язує два завантаження з одним файлом, створюючи між ними жорстке посилання (hard link), яке вказує на ту саму область файлової системи.
На наступному етапі атакувальник навмисно перериває передавання, повертаючи тимчасові помилки HTTP-сервера. APT намагається відновити завантаження та продовжує роботу з файлами. Після того як перший пакет успішно проходить перевірку хешу, система некоректно обробляє створене раніше жорстке посилання. У результаті відновлене завантаження перезаписує вже перевірений файл шкідливим вмістом.
Таким чином, механізми перевірки цифрових підписів і контрольних сум фактично працюють правильно, але перевіряють не той файл, який зрештою встановлюється. Подібний клас помилок відомий як Time-of-check to time-of-use (TOCTOU), коли стан об’єкта змінюється між його перевіркою та використанням.
Найнебезпечніше те, що встановлення .deb-пакетів передбачає виконання службових сценаріїв із привілеями root. Якщо APT приймає підмінений пакет, зловмисний код отримує найвищий рівень доступу до операційної системи. Атаку може спровокувати звичайне встановлення або оновлення програм через apt install, apt-get upgrade та інші інструменти, які використовують вразливий механізм APT.
Fixes are available for CVE-2026-109518, a High severity vulnerability in APT, the package manager used in Debian, Ubuntu, and derivative Linux distributions. The CVE has a CVSS 4.0 score of 7.7.
Remediation details are available on our blog.https://t.co/x3q5jIeD4J pic.twitter.com/ocIkYASiIQ
— Ubuntu (@ubuntu) November 4, 2026
Особливу небезпеку CVE-2026-109518 становить для автоматизованих середовищ розробки, де встановлення програмних пакетів часто відбувається без безпосередньої участі користувача. Це стосується серверів, контейнерів Docker, систем безперервної інтеграції та розгортання (CI/CD), а також робочих станцій розробників.
У StepSecurity пояснюють, що компрометація CI/CD-раннера може відкрити доступ до вихідного коду проєкту, токенів GITHUB_TOKEN, облікових даних хмарних сервісів, ключів підпису та інших секретів, які використовуються під час автоматизованих процесів. Якщо підміна відбувається під час створення Docker-образу, шкідливий код може потрапити безпосередньо до готового образу, який згодом поширюватиметься та запускатиметься на інших системах.
На комп’ютері розробника наслідки можуть бути не менш серйозними. Отримавши права root, зловмисник потенційно здатен скомпрометувати всю систему, зокрема облікові дані та іншу конфіденційну інформацію, яка на ній зберігається.
При цьому атака не відбувається автоматично на кожному комп’ютері з Linux. Для її реалізації необхідні контроль над мережевим шляхом передавання пакетів, увімкнений механізм повторного завантаження та запуск встановлення або оновлення програм. Уразливими можуть бути не лише команди apt та apt-get, а й aptitude і графічні менеджери програм, які використовують ту саму бібліотеку APT.
4 листопада 2026 року розробники Debian та Ubuntu опублікували виправлення CVE-2026-109518. За даними Canonical, у стандартних конфігураціях проблема зачіпає Ubuntu 22.04 LTS та новіші випуски. Старіші версії також можуть бути вразливими, якщо параметр Acquire::Retries встановлений у значення, відмінне від нуля.
Аналогічна ситуація спостерігається в Debian. За інформацією StepSecurity, Debian 12 та новіші версії використовують повторні спроби завантаження за замовчуванням, тоді як у старіших системах небезпека залежить від налаштувань APT. Крім CVE-2026-109518, розробники Debian усунули кілька додаткових помилок, пов’язаних із доступом до пам’яті за межами дозволеної області. Деталі наведено в офіційному повідомленні Debian.
Оскільки звичайне оновлення через APT також може стати точкою входу для атаки, Ubuntu рекомендує тимчасово вимкнути повторні спроби завантаження під час встановлення виправлення. Для цього можна використати команду:
sudo apt update && sudo apt upgrade -o Acquire::Retries=0
Параметр Acquire::Retries=0 забороняє APT повторно завантажувати пакети після помилки, що усуває необхідну для експлуатації умову. Після встановлення виправленої версії APT небезпека підміни пакетів через цю вразливість зникає, навіть якщо система використовує скомпрометоване дзеркало репозиторію.
Додатково Canonical рекомендує використовувати HTTPS для передавання пакетів. Захищене TLS-з’єднання перешкоджає сторонньому втручанню в HTTP-трафік, однак не замінює оновлення самого APT. Водночас встановлення Snap-пакетів та завантаження через FTP не зачіпає ця вразливість, оскільки вони використовують інші механізми.
Виправлення потрібно встановити на всіх пристроях, які використовують APT, включно із серверами, робочими станціями, контейнерами та CI/CD-раннерами. Для автоматизованих середовищ важливо також оновити базові образи, інакше нові контейнери або віртуальні машини можуть продовжувати запускатися зі старою вразливою версією менеджера пакетів.
На момент публікації підтверджених випадків експлуатації CVE-2026-109518 у реальних атаках не зафіксували. Водночас дослідники наголошують, що проблема небезпечна саме через можливість обійти перевірку програмних пакетів, які користувачі та адміністратори зазвичай вважають надійними.