В версиях ядра Linux, выпущенных с 2017 по 2026 год, обнаружена критическая уязвимость, связанная с ошибками в механизмах записи кеша страницы в компонентах xfrm-ESP и RxRPC.
Уязвимость позволяет локальным пользователям повысить права до root на большинстве распространенных дистрибутивов Linux.
В Managed Kubernetes уязвимостью могут быть затронуты операционные системы версий Ubuntu 24.04 и Ubuntu 22.04, которые развернуты на виртуальных машинах рабочих узлов.
Чтобы митигировать уязвимость CVE-2026-43284, запустите DaemonSet в вашем кластере на каждом рабочем узле:
Способ митигации заблокирует возможность использовать IPSec.
Создайте файл emk8s-ds-dirty-frag.yaml и скопируйте в него манифест:
apiVersion: apps/v1kind: DaemonSetmetadata:name: cve-2026-43284-mitigationnamespace: kube-systemlabels:app: cve-2026-43284-mitigationsecurity: security-mitigationspec:selector:matchLabels:name: cve-2026-43284-mitigationtemplate:metadata:labels:name: cve-2026-43284-mitigationspec:hostPID: truehostNetwork: trueinitContainers:- name: apply-mitigationimage: emk8s.cr.cloud.ru/ubuntu:22.04securityContext:privileged: truevolumeMounts:- name: host-rootmountPath: /hostcommand: ["/bin/bash", "-c"]args:- |set -euo pipefailecho "--- Step 1: Blacklisting modules ---"printf "install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n" > /host/etc/modprobe.d/dirtyfrag.confecho "✓ Created /etc/modprobe.d/dirtyfrag.conf"echo "--- Step 2: Unloading modules if active ---"for MODULE in esp4 esp6 rxrpc; doif chroot /host lsmod | grep -q "^$MODULE"; thenecho "Module $MODULE is loaded. Unloading..."chroot /host rmmod $MODULE 2>/dev/null || echo "⚠ Failed to unload $MODULE (it might be busy)"elseecho "✓ Module $MODULE is not loaded"fidoneecho "--- Step 3: Dropping memory caches ---"syncecho 3 > /host/proc/sys/vm/drop_cachesecho "✓ Memory caches dropped"containers:- name: monitoring-agentimage: emk8s.cr.cloud.ru/ubuntu:22.04securityContext:privileged: trueresources:requests:cpu: 10mmemory: 16Milimits:memory: 32Micommand: ["/bin/bash", "-c"]args:- |while true; dofor MODULE in esp4 esp6 rxrpc; doif grep -q "^$MODULE " /proc/modules; thenecho "$(date): ⚠️ ALERT! Module $MODULE LOADED!"chroot /host modprobe -r $MODULE || echo "✗ Cannot unload $MODULE live."fidonesleep 3600donevolumes:- name: host-roothostPath:path: /type: Directory
Выполните команду:
kubectl apply -f emk8s-ds-dirty-frag.yaml
Разворачиваемый DaemonSet приведет к созданию привилегированных контейнеров.
Проверьте статус DaemonSet:
kubectl get daemonset -n kube-system cve-2026-43284-mitigation
Проверьте применение исправления на узлах:
kubectl get pods -n kube-system -l app=cve-2026-43284-mitigation -o wide
Посмотрите логи контейнера, отвечающего за исправление уязвимости на узлах:
kubectl logs -n kube-system -l app=cve-2026-43284-mitigation -c apply-fix
Посмотрите логи контейнера, проверяющего наличие уязвимости на узлах:
kubectl logs -n kube-system -l app=cve-2026-43284-mitigation -c monitor