В сетевых подсистемах ядра Linux были обнаружены уязвимости локального повышения привилегий CVE-2026-43284 и CVE-2026-43500, известные под общим названием «Dirty Frag», а также уязвимость «Fragnesia» CVE-2026-46300. Из-за логического дефекта в двух независимых модулях xfrm-ESP и RxRPC злоумышленники могут изменять содержимое кеша страниц любого читаемого файла в системе, что позволит им повысить права до root.
Уязвимость CVE-2026-43500 в модуле RxRPC платформу Advanced не затрагивает.
Уязвимости CVE-2026-43284 и CVE-2026-46300 в модуле xfrm-ESP на платформе Advanced затрагивают следующие операционные системы с версией ядра 4.11 и выше:
Ubuntu
Debian
HCE OS
CentOS
AlmaLinux
Rocky Linux
Выпуск патча для образа HCE OS с устранением уязвимостей CVE-2026-43284 и CVE-2026-46300 ожидается до 08.06.2026.
Чтобы проверить подверженность вашей системы уязвимостям CVE-2026-43284 и CVE-2026-46300 в модуле xfrm-ESP:
Проверьте, затронута ли версия ядра.
Для этого запустите команду, которая покажет текущую версию системы:
uname -r
Если версия ядра меньше 4.11, уязвимости не затрагивают систему.
Если версия ядра больше или равна 4.11 — система уязвима, переходите к шагу 2.
Если версия ядра 4.x, но ниже 4.11, с датой компиляции ядра в январе 2017 года или позднее — проверьте, содержит ли дистрибутив коммит cac2661c53f3, в котором появились уязвимости. Если да, то система уязвима — переходите к шагу 2.
Проверьте, содержит ли система модуль xfrm-ESP.
Для этого посмотрите конфигурацию компиляции вашей системы:
zcat /proc/config.gz | grep CONFIG_XFRM_ESP orcat /boot/config-$(uname -r) | grep CONFIG_XFRM_ESP orzcat /proc/config.gz | grep CONFIG_INET_ESP orcat /boot/config-$(uname -r) | grep CONFIG_INET_ESP
Если все результаты пустые, либо отображается # CONFIG_XFRM_ESP is not set или # CONFIG_INET_ESP is not set, система не поддерживает этот модуль. Уязвимости не затрагивают систему, проверку можно завершить.
Если в каком-либо из результатов указано =y или =m — система уязвима, переходите к следующему шагу проверки.
Убедитесь, нужно ли митигировать уязвимости.
Проверьте, загружены ли в системе модули, связанные с ESP:
lsmod | grep esp
Если вывод команды не пустой и содержит esp, переходите к шагу 4 для дальнейшей проверки.
Если вывод пустой, модуль не загружен. Далее проверьте следующее:
Если в вашей конфигурации указано CONFIG_XFRM_ESP = m или CONFIG_INET_ESP = m, проверьте, отключены ли на хосте модули esp4 / esp6. Для этого проверьте, содержит ли конфигурация в каталоге /etc/modprobe.d/ следующие строки:
install esp4 /bin/falseinstall esp6 /bin/false
Если да, система неуязвима, проверку можно завершить.
Если нет, проверьте, поддерживает ли текущая операционная система параметр CONFIG_USER_NS:
zcat /proc/config.gz | grep CONFIG_USER_NS orcat /boot/config-$(uname -r) | grep CONFIG_USER_NS
Если в результате выводится y, переходите к шагу 4.
Если вывод пустой или указано not set, переходите к шагу 5.
(Для сценариев с поддержкой CONFIG_USER_NS) Проверьте, возможно ли использовать unshare.
Если CONFIG_XFRM_ESP или CONFIG_INET_ESP имеют значение m или y, проверьте, отключена ли возможность использования unshare. Для этого выполните команду создания пользовательского и сетевого пространства имен от имени обычного пользователя:
unshare -Un -r /bin/bashЕсли каталог /bin/bash отсутствует, выполните:
unshare -Un -r /bin/sh
Если после выполнения команды появляется ошибка вида unshare failed или Operation Not Permitted, система неуязвима и проверку можно завершить.
Если ошибка не возникает и появляется оболочка с правами root, система уязвима.
Если в системе отсутствует unshare или нет интерпретаторов sh, bash (ошибка not found), необходимо самостоятельно скомпилировать тестовый файл unshare-poc.c для проверки:
Создайте файл unshare-poc.c и скопируйте в него код:
#define _GNU_SOURCE#include <sched.h>#include <stdio.h>#include <errno.h>#include <string.h>#include <unistd.h>int main(){int ret;printf("[*] testing unshare(CLONE_NEWUSER)\n");ret = unshare(CLONE_NEWUSER);if (ret == 0) {printf("[+] CLONE_NEWUSER allowed\n");} else {printf("[-] failed: %s (%d)\n",strerror(errno),errno);}return 0;}Выполните статическую компиляцию тестового файла:
gcc unshare-poc.c -static -o unshare-pocЗапустите файл на целевой системе.
Если вывод содержит строку CLONE_NEWUSER allowed — система уязвима.
Если вывод содержит failed — система неуязвима.
Проверка завершена.
(Для сценариев без поддержки CONFIG_USER_NS) Проверьте, имеет ли обычный пользователь права CAP_NET_ADMIN.
Если CONFIG имеет значение m или y, проверьте, есть ли у обычного пользователя права CAP_NET_ADMIN. Для этого войдите в систему под обычным пользователем и выполните команду:
grep '^CapEff:' /proc/$$/status
Если результат содержит только нули, система неуязвима и проверку можно завершить.
Если в результате не все нули, например 000001ffffffffff, скопируйте ваше значение и выполните следующую команду для верификации прав:
capsh --decode=000001ffffffffff # Замените на ваше значениеПример вывода:
0x000001ffffffffff=cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend,cap_audit_read,cap_perfmon,cap_bpf,cap_checkpoint_restore
Если в списке есть CAP_NET_ADMIN — система уязвима.
Если нет — система неуязвима.
Проверка завершена.
Чтобы митигировать уязвимости в дистрибутивах AlmaLinux и Rocky Linux, обновите операционную систему до последней версии. Для остальных дистрибутивов следуйте шагам митигации ниже.
Способ митигации нарушит функциональность IPsec. Оцените влияние на вашу среду, чтобы избежать сбоев.
Для случая CONFIG_XFRM_ESP = m или CONFIG_INET_ESP = m проверьте зависимость текущего хоста от модуля ESP:
lsmod | grep esp
Если вывод пустой, отключите ESP:
echo "install esp4 /bin/false" >> /etc/modprobe.d/disable-esp.confecho "install esp6 /bin/false" >> /etc/modprobe.d/disable-esp.conf
Чтобы проверить, что ESP отключен, выполните команду:
modprobe esp4
Если появится сообщение «ERROR», меры митигации применились успешно.
Если вывод команды lsmod не пустой и cодержит esp4 или esp6, примените метод, описанный ниже, для отключения возможности создания новых пространств имен, если это не повлияет на вашу среду негативно.
Для случая CONFIG_XFRM_ESP=y или CONFIG_INET_ESP=y отключите создание новых пространств имен:
echo 0 > /proc/sys/user/max_user_namespaces
Предотвратить использование unshare непривилегированными пользователями можно другими методами.