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

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

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

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

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

Категории

Все категории
Loading categories
cve-2026-31431-algif-aead-remediator — Kubernetes DaemonSet для обнаружения и устранения CVE-2026-31431 (GHSA-2274-3hgr-wxv6) — LPE в algif_aead через чёрный список modprobe | Kitploit
Инструменты/GitHubGitHub/boliu83/cve-2026-31431-algif-aead-remediator
Безопасность облачной инфраструктурыОборонительные ИнструментыБезопасность контейнеровАнализ уязвимостейАудит конфигурацииРеагирование на Инциденты
GitHubboliu83/cve-2026-31431-algif-aead-remediator

cve-2026-31431-algif-aead-remediator

Kubernetes DaemonSet для обнаружения и устранения CVE-2026-31431 (GHSA-2274-3hgr-wxv6) — LPE в algif_aead через чёрный список modprobe

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

Популярное

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

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

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

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

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

CVE-2026-31431 / GHSA-2274-3hgr-wxv6 — Средство устранения уязвимости algif_aead

Серьёзность: Высокая (CVSS 7.8 — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)

Общие сведения

CVE-2026-31431 — это локальная уязвимость повышения привилегий в модуле algif_aead ядра Linux (интерфейс криптографических сокетов AF_ALG AEAD). Непривилегированный локальный пользователь может использовать некорректные операции с буфером на месте для получения полного доступа root. Все пулы узлов AKS, работающие на ядрах Linux до применения соответствующего исправления, потенциально уязвимы.

Модуль algif_aead не требуется для обычных рабочих нагрузок Kubernetes или AKS. Внесение его в чёрный список полностью устраняет поверхность атаки.


Что делает этот DaemonSet

Один под запускается на каждом узле Linux. При запуске, а затем каждые 60 секунд каждый под:

  1. Записывает /etc/modprobe.d/modprobe-CIS.conf на хосте со следующим содержимым:

    install algif_aead /bin/false
    blacklist algif_aead
    

    Это предотвращает загрузку модуля при перезагрузке или через modprobe.

  2. Проверяет /proc/modules (живой список модулей ядра хоста — общий для всех контейнеров) на наличие algif_aead.

  3. Помечает узел Kubernetes меткой с результатом, чтобы вы могли выполнять запросы по всему кластеру:

    Значение меткиЗначение
    mitigatedМодуль не загружен; применена конфигурация чёрного списка
    module-loadedМодуль в настоящее время загружен — немедленно проведите расследование

Файлы

ФайлНазначение
rbac.yamlNamespace, ServiceAccount, ClusterRole (get/patch узлов), ClusterRoleBinding
configmap.yamlShell-скрипт устранения уязвимости, монтируемый в каждый под
daemonset.yamlОпределение DaemonSet — один под на узел Linux

Предварительные требования

  • kubectl, настроенный для целевого кластера AKS
  • Права администратора кластера (требуются для создания ClusterRole и привилегированного namespace)

Развёртывание

Примените манифесты по порядку:

kubectl apply -f rbac.yaml
kubectl apply -f configmap.yaml
kubectl apply -f daemonset.yaml

Дождитесь завершения развёртывания на всех узлах:

kubectl -n security-remediation rollout status daemonset/cve-2026-31431-remediator

Проверка

Просмотр статуса устранения уязвимости на узлах с первого взгляда

kubectl get nodes -L vulnerability.aks.io/CVE-2026-31431

Ожидаемый вывод на чистом кластере:

NAME                                STATUS   ROLES    AGE   VERSION   CVE-2026-31431
aks-nodepool1-xxxxx-vmss000000      Ready    <none>   4d    v1.33.7   mitigated
aks-nodepool1-xxxxx-vmss000001      Ready    <none>   4d    v1.33.7   mitigated

Просмотр журналов конкретного пода

# Список подов и назначенных им узлов
kubectl -n security-remediation get pods -o wide

# Просмотр журналов конкретного пода в реальном времени
kubectl -n security-remediation logs <pod-name> -f

Ожидаемый вывод журнала:

2026-05-01T01:33:36Z [INFO    ] CVE-2026-31431 remediator starting on node: aks-nodepool1-...
2026-05-01T01:33:36Z [INFO    ] Blacklist config written → /host/etc/modprobe.d/modprobe-CIS.conf
2026-05-01T01:33:36Z [INFO    ] Node aks-nodepool1-...: 'algif_aead' is NOT loaded — blacklist config applied, node is mitigated.
2026-05-01T01:33:36Z [INFO    ] Labeled node aks-nodepool1-...: vulnerability.aks.io/CVE-2026-31431=mitigated
2026-05-01T01:33:36Z [INFO    ] Entering monitoring loop (interval: 60s)

Проверка записи конфигурации modprobe на хосте

kubectl -n security-remediation exec <pod-name> -- cat /host/etc/modprobe.d/modprobe-CIS.conf

Ожидаемое содержимое:

# CIS hardening – mitigate CVE-2026-31431 (GHSA-2274-3hgr-wxv6)
# Prevents algif_aead (AF_ALG AEAD) LPE from being loaded or exploited.
install algif_aead /bin/false
blacklist algif_aead

Предупреждение: узлы с загруженным модулем

Если узел показывает module-loaded, модуль ядра в настоящее время активен, и узел может быть уже скомпрометирован. Немедленно изолируйте (cordon) и осушите (drain) узел для криминалистического анализа:

# Поиск затронутых узлов
kubectl get nodes -l vulnerability.aks.io/CVE-2026-31431=module-loaded

# Изоляция и осушение для расследования
kubectl cordon <node-name>
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data

Удаление

Примечание: Удаление DaemonSet не удаляет файл /etc/modprobe.d/modprobe-CIS.conf с узлов хоста. Этот файл намеренно оставляется на месте как постоянная мера укрепления ядра.

Удаление ресурсов Kubernetes

kubectl delete -f daemonset.yaml
kubectl delete -f configmap.yaml
kubectl delete -f rbac.yaml

Это удаляет DaemonSet, все его поды, ConfigMap, ServiceAccount, ClusterRole, ClusterRoleBinding и namespace.

Удаление меток узлов (необязательно)

kubectl label nodes --all vulnerability.aks.io/CVE-2026-31431-

Удаление конфигурации modprobe с узлов (не рекомендуется)

Делайте это только в том случае, если у вас есть альтернативная мера устранения (исправленное ядро). Выполните на каждом узле или через привилегированный под:

rm -f /etc/modprobe.d/modprobe-CIS.conf

Замечания по безопасности

  • Под запускается от имени root (runAsUser: 0) — это требуется для записи в /etc/modprobe.d/ на хосте.
  • Все возможности Linux отозваны (capabilities.drop: ["ALL"]). Возможности ядра не требуются.
  • Основной контейнер работает с readOnlyRootFilesystem: true. Записываемыми являются только смонтированные тома hostPath и emptyDir.
  • С хоста монтируется только /etc/modprobe.d/ — не /etc, /proc или любой другой более широкий путь.
  • Бинарный файл curl и его общие библиотеки размещаются init-контейнером в emptyDir (/tools), чтобы основной контейнер мог обращаться к API Kubernetes без необходимости записи в rootfs.
  • Сервисная учётная запись имеет минимальные необходимые разрешения RBAC: только get и patch на nodes.
Скачать инструмент