Автономные bash-скрипты, предназначенные для проведения аудита и оперативного применения компенсирующих мер для защиты от критических уязвимостей в операционных системах РЕД ОС.
- РЕД ОС 7.3.x (
x86_64) - РЕД ОС 8.0.x (
x86_64иaarch64)
- Уязвимость Copy Fail
- Уязвимости Dirty Frag и Fragnesia
- Уязвимость DirtyDecrypt (DirtyCBC)
- Уязвимость PinTheft
- Уязвимость GRO Frag
- Уязвимость CIFSwitch
- Инструкция по использованию скриптов
- Лицензия и отказ от ответственности
Критическая уязвимость Copy Fail относится к LPE-типу (Local Privilege Escalation) и может быть использована в системах на базе Linux (уязвимость в сокетах AF_ALG – с августа 2017 года).
Позволяет непривилегированному локальному пользователю получить доступ к системе уровня root.
Уязвимость Copy Fail исправлена в ядрах 6.1.170 и 6.12.85.
- Идентификатор NVD NIST:
- Идентификатор БДУ ФСТЭК:
- Бюллетени безопасности РЕД ОС:
- РЕД ОС 7.3:
6.1.170-1.el7.3.*и выше - РЕД ОС 8.0:
6.12.85-1.red80.*и выше
Скрипт блокирует вызовы уязвимого модуля посредством добавления параметра initcall_blacklist=algif_aead_init в конфигурацию загрузчика GRUB.
Скрипт автоматически детектирует использование СЗИ Secret Net LSP, проверяет онлайн совместимость СЗИ с безопасной версией ядра и предлагает актуальный вариант (обновление ядра или применение компенсирующих мер).
Критические уязвимости Dirty Frag и Fragnesia относятся к LPE-типу (Local Privilege Escalation) и могут быть использованы в системах на базе Linux (уязвимость в модуле xfrm-ESP – с января 2017 года, уязвимость в драйвере RxRPC - с июня 2023 года).
Позволяют непривилегированному локальному пользователю получить доступ к системе уровня root.
Уязвимость Dirty Frag исправлена в ядрах 6.1.171 и 6.12.87.
Уязвимость Fragnesia исправлена в ядрах 6.1.174 и 6.12.91.
- Идентификаторы NVD NIST:
- Идентификаторы БДУ ФСТЭК:
- Бюллетени безопасности РЕД ОС:
- РЕД ОС 7.3:
6.1.172-1.el7.3.*и выше - РЕД ОС 8.0:
6.12.87-2.red80.*и выше
Скрипт опрашивает администратора об использовании на целевой машине IPsec (VPN), и, в соответствии с ответом, производит многоуровневое блокирование.
- Если IPsec не используется – блокируются (через
modprobe.d) и выгружаются модулиesp4,esp6иrxrpc, а также отключается (через параметры конфигурации загрузчика GRUB) подсистема IPv6. - Если IPsec используется – модули шифрования ESP остаются активными, но накладывается ограничение на использование непривилегированных пользовательских пространств имен (
user.max_user_namespaces = 0), блокируется модульrxrpcи отключается подсистема IPv6.
Скрипт автоматически детектирует использование СЗИ Secret Net LSP, проверяет онлайн совместимость СЗИ с безопасной версией ядра и предлагает актуальный вариант (обновление ядра или применение компенсирующих мер).
Критическая уязвимость DirtyDecrypt относится к LPE-типу (Local Privilege Escalation) и может быть использована в системах на базе Linux (уязвимость в драйвере RxRPC, реализующем семейство сокетов AF_RXRPC).
Позволяет непривилегированному локальному пользователю получить доступ к системе уровня root.
Проблема проявляется начиная с ядра Linux версии 6.16.
Используется ошибка, описанная в CVE-2026-31635.
Уязвимость DirtyDecrypt исправлена в ядрах 6.18.23 и 7.0.0.
Операционные системы РЕД ОС 7.3 и РЕД ОС 8.0 используют longterm maintenance выпуски ядра Linux – 6.1.x и 6.12.x, соответственно.
В указанных версиях проблема не проявляется. Проведение мер по устранению уязвимости не требуется.
Критическая уязвимость PinTheft относится к LPE-типу (Local Privilege Escalation) и может быть использована в системах на базе Linux (уязвимость в реализации сетевого протокола RDS (Reliable Datagram Sockets)).
Позволяет непривилегированному локальному пользователю получить доступ к системе уровня root.
Атака возможна на системы с включенной подсистемой io_uring (io_uring_disabled=0) и ядром, собранным с опциями CONFIG_RDS, CONFIG_RDS_TCP и CONFIG_IO_URING.
Также для работы эксплоита в системе должен быть доступный на чтение исполняемый файл с флагом SUID-root.
Уязвимость PinTheft исправлена в ядрах 6.1.175 и 6.12.91.
- Идентификатор NVD NIST:
- Идентификатор БДУ ФСТЭК:
- Бюллетени безопасности РЕД ОС:
- РЕД ОС 7.3:
6.1.175-1.el7.3.*и выше - РЕД ОС 8.0:
6.12.92-1.red80.*и выше
Существующий в открытом доступе эксплоит не работает на РЕД ОС 7.3 из-за ограничений логики самого инструмента атаки.
Код эксплоита написан под примитивы ядра Linux версии 6.13+ (использован механизм клонирования зарегистрированных буферов подсистемы io_uring через флаг IORING_REGISTER_CLONE_BUFFERS внутри системного вызова io_uring_register).
В то же время, при внесении незначительных правок в код эксплоита он успешно выполняется на РЕД ОС 8.0 (на ядре 6.12) с получением наивысших привилегий в системе (root).
Важно: это указывает не на безопасность ядра 6.1, а лишь на несовместимость текущего публичного метода эксплуатации со старой кодовой базой.
Сама уязвимость в сетевом протоколе Reliable Datagram Sockets теоретически может быть активирована другими методами.
Таким образом, до появления в репозитории вендора обновления ядра Linux с устранением уязвимости для обеих систем рекомендуется применение компенсирующих мер.
Для нейтрализации векторов эксплуатации уязвимости скрипт блокирует (через modprobe.d) и выгружает уязвимые модули rds и rds_tcp.
Скрипт автоматически детектирует использование СЗИ Secret Net LSP, проверяет онлайн совместимость СЗИ с безопасной версией ядра и предлагает актуальный вариант (обновление ядра или применение компенсирующих мер).
Критическая уязвимость GRO Frag относится к LPE-типу (Local Privilege Escalation) и может быть использована в системах на базе Linux (уязвимость в реализации технологии GRO (Generic Receive Offload)).
Позволяет непривилегированному локальному пользователю получить доступ к системе уровня root.
Атака возможна на системы с включенной подсистемой io_uring (io_uring_disabled=0).
Также для работы эксплоита в системе должен быть доступный на чтение исполняемый файл с флагом SUID-root.
Уязвимость GRO Frag исправлена в ядрах 6.1.176 и 6.12.92.
- Идентификатор NVD NIST:
- CVE-2026-43503 (косвенное упоминание)
- Идентификатор БДУ ФСТЭК:
- Бюллетени безопасности РЕД ОС:
- РЕД ОС 7.3:
6.1.175-1.el7.3.*и выше - РЕД ОС 8.0:
6.12.92-1.red80.*и выше
Для РЕД ОС 7.3 вендором в ядре 6.1.175-1 реализован бэкпорт патча, устраняющего возможность эксплуатации уязвимости.
Существующий в открытом доступе эксплоит не работает на РЕД ОС 7.3 из-за ограничений логики самого инструмента атаки.
Код эксплоита написан под примитивы ядра Linux версии 6.4+ (использован механизм предоставления пользовательских буферов ядра через флаг IORING_REGISTER_PBUF_RING внутри системного вызова io_uring_register).
Важно: это указывает не на безопасность ядра 6.1, а лишь на несовместимость текущего публичного метода эксплуатации со старой кодовой базой.
Сама уязвимость в сетевом стеке Generic Receive Offload теоретически может быть активирована другими методами.
Для нейтрализации векторов эксплуатации уязвимости скрипт применяет дифференцированный подход в зависимости от версии операционной системы:
- в РЕД ОС 7.3 – накладывается ограничение на использование непривилегированных пользовательских пространств имен (
user.max_user_namespaces = 0), что лишает потенциальный эксплоит возможности собрать изолированное сетевое окружение. - в РЕД ОС 8.0 – задействуется нативный механизм ядра по ограничению подсистемы io_uring для непривилегированных процессов (
kernel.io_uring_disabled = 2), полностью блокирующий примитивы проведения атак на оперативную память хоста.
Скрипт автоматически детектирует использование СЗИ Secret Net LSP, проверяет онлайн совместимость СЗИ с безопасной версией ядра и предлагает актуальный вариант (обновление ядра или применение компенсирующих мер).
Критическая уязвимость CIFSwitch относится к LPE-типу (Local Privilege Escalation) и может быть использована в системах на базе Linux (не проверяется происхождение описания ключа cifs.spnego, используемого для аутентификации на SMB-сервере).
Позволяет непривилегированному локальному пользователю получить доступ к системе уровня root.
Атака возможна на системы, в которых разрешено создание пространств имен пользователей (user namespace) или точек монтирования (mount namespace).
Также требуется наличие установленного пакета cifs-utils.
Уязвимость CIFSwitch исправлена в ядрах 6.1.175 и 6.12.92.
- Идентификатор NVD NIST:
- Идентификатор БДУ ФСТЭК:
- Бюллетени безопасности РЕД ОС:
- РЕД ОС 7.3:
6.1.175-1.el7.3.*и выше - РЕД ОС 8.0:
6.12.92-1.red80.*и выше
Скрипт опрашивает администратора об использовании на целевой машине автоматической авторизации в Active Directory/Samba, и, в соответствии с ответом, производит действия для защиты.
- Если автоматическая авторизация не используется – через конфигурацию
cifs.spnegoустанавливается запрет вызова утилитыcifs.upcallдля определения ключей из Kerberos/SPNEGO. - Если автоматическая авторизация используется – накладывается ограничение на использование непривилегированных пользовательских пространств имен (
user.max_user_namespaces = 0), что лишает потенциальный эксплоит возможности собрать изолированное сетевое окружение..
Скрипт автоматически детектирует использование СЗИ Secret Net LSP, проверяет онлайн совместимость СЗИ с безопасной версией ядра и предлагает актуальный вариант (обновление ядра или применение компенсирующих мер).
Скрипты требуют запуска с наивысшими привилегиями (например, через sudo). В случае запуска от обычного пользователя утилиты автоматически запросят повышение прав.
-
Диагностика системы:
sudo ./redos_dirtyfrag_patch.sh --check # или сокращенно: sudo ./redos_copyfail_patch.sh -cПроводит сквозной аудит системы. По результатам проверки предлагает установку пакета обновления или применение компенсирующих мер для защиты.
-
Применение компенсирующих мер:
sudo ./redos_dirtyfrag_patch.sh --patch # или сокращенно: sudo ./redos_copyfail_patch.sh -pВыполняет многоуровневую защиту без проведения аудита системы. Требует перезагрузки для полной активации рантайм-защиты.
-
Откат изменений:
sudo ./redos_dirtyfrag_patch.sh --rollback # или сокращенно: sudo ./redos_copyfail_patch.sh -rОтменяет все внесенные изменения.
-
Информационные ключи:
-h (--help)– краткая справка по командам.-i (--info)– сведения об уязвимости.-a (--about)– информация о скрипте.
Скрипты распространяются под лицензией GNU GPLv3 (https://www.gnu.org/licenses/).
Скрипты (далее – Программный продукт) предоставляются автором на основе принципа «КАК ЕСТЬ» (AS IS), выражаемого в отказе от предоставления любых явных или подразумеваемых гарантий, а также в отсутствии обязательства предоставлять сопровождение, поддержку, обновление или изменение Программного продукта.
Конечный пользователь использует данный Программный продукт на свой страх и риск.
Автор не несет ответственности за качество и функциональные особенности данного Программного продукта, как явные, так и предполагаемые, равно как и за фактическое соответствие Программного продукта заявленной функциональности.
Автор не несет ответственности за проблемы, которые могут возникать в процессе эксплуатации Программного продукта, как в случаях, когда проблемы обусловлены несовместимостью с другими программными продуктами (пакетами, драйверами), так и в случаях несоответствия результатов использования Программного продукта ожиданиям Конечного пользователя.
Конечный пользователь понимает и выражает согласие с тем, что, используя Программный продукт, он делает это по своему усмотрению и несет полную ответственность за любой ущерб, который это может за собой повлечь, включая несовместимость или конфликты Программного продукта с другими программными продуктами, используемыми Конечным пользователем.
Перед применением в продакшн-среде рекомендуется провести тестирование на контрольной группе АРМ.