Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/codesource/copyfail-check
Сканеры уязвимостейАнализ уязвимостейАудит конфигурацииDevSecOpsРеагирование на Инциденты
GitHubcodesource/copyfail-check

copyfail-check

Скрипт для обнаружения уязвимости CVE-2026-31431 (Copy Fail) и мер по её устранению в Linux-системах: проверка ядра, состояние модуля, параметры загрузки, доступность AF_ALG и статус исправлений в дистрибутиве.

Репозиторий
23 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

copyfail-check

Shell-скрипты для обнаружения уязвимостей ядра Linux, проверки статуса смягчающих мер и рекомендаций по устранению — предназначены для запуска локально или на множестве машин через SSH, Ansible или pssh.


CVE-2026-31431 — Copy Fail

Copy Fail — это уязвимость локального повышения привилегий (LPE) высокой степени серьёзности в криптографическом модуле algif_aead ядра Linux. Логическая ошибка, внесённая в 2017 году, позволяет любому непривилегированному локальному пользователю записать 4 контролируемых байта в page cache любого читаемого файла — этого достаточно, чтобы перезаписать setuid-бинарник и получить root. Рабочий proof-of-concept на Python размером 732 байта существует и находится в открытом доступе.

CVECVE-2026-31431
CVSS7.8 (High)
Раскрыта29 апреля 2026
ЗатронутыЯдра Linux 4.13 – 6.x (2017–2026)
ДистрибутивыUbuntu, RHEL, SUSE, Debian, Amazon Linux и большинство других
Удалённая эксплуатацияНет — требуется локальный доступ
Патч доступенЧастично — проверьте бюллетени вашего дистрибутива

Что проверяет скрипт

ПроверкаНужен root?
Версия ядра — попадает ли она в затронутый диапазон (≥ 4.13)Нет
Модуль algif_aead — загружен, присутствует на диске или в чёрном спискеНет
Параметры загрузки — наличие initcall_blacklist=algif_aead_initНет
Доступность сокетов AF_ALG — открыт ли путь эксплуатацииНет
Статус SELinuxНет
Статус AppArmorДа — без root только частичный вывод
Статус патча дистрибутива — CVE указан в журнале изменений ядраНет

Root не требуется для запуска скрипта — все проверки, кроме статуса AppArmor, работают от обычного пользователя. Запуск с sudo рекомендуется для получения полных результатов и является более безопасным выбором при передаче через curl.

Совместимость

Скрипт разработан для работы во всех основных дистрибутивах Linux:

Семейство дистрибутивовПроверка пакетного менеджераПуть к модулям
Debian, Ubuntudpkg + журнал изменений ядра/lib/modules/
RHEL, CentOS, Amazon Linuxrpm (kernel, kernel-rt)/lib/modules/
SUSE, openSUSErpm (kernel-default)/lib/modules/
Arch Linuxpacman + ссылка на бюллетень/usr/lib/modules/
Fedorarpm + запасной вариант /usr/lib/modules//usr/lib/modules/

Требуется bash — скрипт использует специфичный для bash синтаксис и не будет работать под sh, ash или dash. В Alpine Linux (где по умолчанию используется busybox ash) сначала установите bash:

root@kitploit:~
apk add bash

Быстрый запуск (один сервер)

Без root — работают большинство проверок:

root@kitploit:~
curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | bash

С root — полные результаты, включая статус AppArmor:

root@kitploit:~
curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash

Совет: В production закрепите конкретный SHA коммита, чтобы скрипт не мог измениться без вашего ведома:

root@kitploit:~
curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/COMMIT_SHA/check_copyfail.sh | sudo bash

Скачать и проверить сначала (рекомендуется)

root@kitploit:~
curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh -o check_copyfail.sh
less check_copyfail.sh
bash check_copyfail.sh        # без root
sudo bash check_copyfail.sh   # полные результаты

Запуск на множестве машин

Цикл SSH

root@kitploit:~
for HOST in server1 server2 server3; do
  echo "=== $HOST ==="
  ssh "$HOST" "curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash"
done

Ansible

root@kitploit:~
- name: Check Copy Fail vulnerability
  hosts: all
  tasks:
    - name: Run check script
      script: check_copyfail.sh
      become: yes

Параллельный SSH

root@kitploit:~
pssh -h hosts.txt -i \
  "curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash"

Пример вывода

root@kitploit:~
============================================================
  Copy Fail CVE-2026-31431 – Vulnerability Check
============================================================

>>> Kernel Version
  [INFO]  Running kernel: 5.15.0-107-generic
  [WARN]  Kernel 5.15.0-107-generic is in the affected range (4.13 – 6.x).

>>> algif_aead Module Status
  [WARN]  algif_aead module is currently LOADED — system is exploitable.
  [WARN]  Module file found at: /lib/modules/5.15.0-107-generic/kernel/crypto/algif_aead.ko
  [WARN]  algif_aead is NOT blacklisted — it can be loaded on demand.

>>> Kernel Boot Parameter Mitigation
  [WARN]  initcall_blacklist=algif_aead_init is NOT set in boot parameters.

>>> AF_ALG Socket Reachability
  [WARN]  AF_ALG sockets are reachable by this user — exploit path is open.

>>> Mandatory Access Control (SELinux / AppArmor)
  [WARN]  Neither SELinux nor AppArmor tools detected — no MAC layer present.

>>> Distribution Patch Status
  [WARN]  Could not confirm CVE-2026-31431 is listed as fixed in running kernel's changelog.

============================================================
  SUMMARY
============================================================
  !! LIKELY VULNERABLE — No confirmed mitigation detected.

  Recommended actions (in order of preference):
  1. Apply your distro's kernel update as soon as available.
  2. Add to /etc/modprobe.d/copyfail.conf:
       blacklist algif_aead
       install algif_aead /bin/true
     Then run: sudo depmod -a && sudo update-initramfs -u
  3. Add to kernel boot parameters (grub):
       initcall_blacklist=algif_aead_init
  4. Immediately unload the module if loaded:
       sudo rmmod algif_aead
============================================================

Смягчающие меры

Применяйте в порядке предпочтения:

1. Обновите ядро (лучшее решение)

root@kitploit:~
# Debian / Ubuntu
sudo apt update && sudo apt upgrade linux-image-$(uname -r)

# RHEL / CentOS / Amazon Linux
sudo yum update kernel

# SUSE
sudo zypper update kernel-default

2. Добавьте модуль в чёрный список (немедленно, постоянно)

root@kitploit:~
sudo tee /etc/modprobe.d/copyfail.conf << 'EOF'
blacklist algif_aead
install algif_aead /bin/true
EOF

sudo depmod -a

# Debian/Ubuntu
sudo update-initramfs -u

# RHEL/Fedora
sudo dracut -f

3. Выгрузите модуль сейчас (немедленно, не сохраняется после перезагрузки)

root@kitploit:~
sudo rmmod algif_aead

4. Параметр загрузки ядра (альтернатива чёрному списку)

Добавьте initcall_blacklist=algif_aead_init в конфигурацию GRUB и перезагрузитесь.


Ссылки

  • copy.fail — официальная страница уязвимости
  • Xint/Theori writeup
  • NVD — CVE-2026-31431
  • CERT-EU Advisory 2026-005
  • Microsoft Security Blog
  • The Hacker News

Лицензия

MIT — используйте свободно, без каких-либо гарантий. Всегда проверяйте скрипты перед запуском от root.

Скачать инструмент