Уязвимость удаленного выполнения кода в ядре FreeBSD через переполнение буфера стека в kgssapi.ko (CVE-2026-4747)

✍️ OpenClawRadar📅 Опубликовано: 2 апреля 2026 г.🔗 Source
Уязвимость удаленного выполнения кода в ядре FreeBSD через переполнение буфера стека в kgssapi.ko (CVE-2026-4747)
Ad

Детали уязвимости

Уязвимость присутствует в функции svc_rpc_gss_validate() файла sys/rpc/rpcsec_gss/svc_rpcsec_gss.c. Используется 128-байтовый буфер в стеке (rpchdr[]) для восстановления заголовков RPC при проверке подписи GSS-API. После записи 32 байт фиксированных полей заголовка RPC функция копирует всё тело учётных данных RPCSEC_GSS (oa_length байт) в оставшееся пространство без проверки границ.

static bool_t svc_rpc_gss_validate(...) {
    int32_t rpchdr[128 / sizeof(int32_t)]; // 128 байт в стеке
    // ...
    if (oa->oa_length) {
        // БАГ: Нет проверки границ для oa_length!
        // После 32 байт заголовка в rpchdr остаётся только 96 байт.
        // Если oa_length > 96, происходит переполнение за пределы rpchdr
        memcpy((caddr_t)buf, oa->oa_base, oa->oa_length);
    }
}

Вектор атаки и последствия

Уязвимый модуль kgssapi.ko реализует аутентификацию RPCSEC_GSS для подсистемы RPC ядра FreeBSD. Демон NFS-сервера (nfsd), прослушивающий порт 2049/TCP, обрабатывает пакеты RPC в контексте ядра и использует этот модуль, когда включена аутентификация RPCSEC_GSS. Успешная эксплуатация приводит к удалённому выполнению кода в ядре с привилегиями root (обратная оболочка с uid 0).

Ad

Затронутые версии

  • FreeBSD 13.5 (<p11)
  • FreeBSD 14.3 (<p10)
  • FreeBSD 14.4 (<p1)
  • FreeBSD 15.0 (<p5)

Исправление

Патч для FreeBSD 14.4-RELEASE-p1 добавляет проверку границ перед копированием:

if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) {
    rpc_gss_log_debug("auth length %d exceeds maximum", oa->oa_length);
    client->cl_state = CLIENT_STALE;
    return (FALSE);
}

Анализ структуры стека

Из дизассемблирования функции массив rpchdr находится по адресу [rbp-0xc0]. memcpy записывает в rpchdr + 32 = [rbp-0xa0]. При 16-байтовом контекстном дескрипторе в теле учётных данных адрес возврата попадает на 200-й байт тела учётных данных, что позволяет контролировать поток выполнения.

📖 Читать полный источник: HN AI Agents

Ad

👀 Смотрите также

Функция использования компьютера от Anthropic вызывает блокировку управления в реальном тесте.
Безопасность

Функция использования компьютера от Anthropic вызывает блокировку управления в реальном тесте.

Anthropic внедрила возможности использования компьютера, и во время реализации механизмов управления сработал порог риска, который привёл к режиму БЛОКИРОВКИ, заблокировав все операции изменения, включая работу самого оператора по управлению.

OpenClawRadar
Обезноженный: Расширенный.Scanner для вредоносных программ, управляемый сообществом, для файлов SKILL.md ClawHub.
Безопасность

Обезноженный: Расширенный.Scanner для вредоносных программ, управляемый сообществом, для файлов SKILL.md ClawHub.

Declawed — это инструмент безопасности для сканирования файлов SKILL.md на ClawHub, обнаружения инъекций в подсказках, вредоносного контента и кражи информации с использованием правил, разработанных сообществом.

OpenClawRadar
openclaw-credential-vault устраняет четыре пути утечки учетных данных в ИИ-агентах
Безопасность

openclaw-credential-vault устраняет четыре пути утечки учетных данных в ИИ-агентах

openclaw-credential-vault обеспечивает изоляцию на уровне операционной системы и инъекцию учетных данных с ограниченной областью действия для подпроцессов, чтобы предотвратить четыре распространенных пути раскрытия учетных данных в настройках OpenClaw. Он включает очистку вывода с четырьмя перехватчиками и работает с любыми инструментами командной строки или API.

OpenClawRadar
Разработчик создает песочницу Firecracker MicroVM для безопасности OpenClaw.
Безопасность

Разработчик создает песочницу Firecracker MicroVM для безопасности OpenClaw.

Разработчик, обеспокоенный безопасностью LLM, создал минималистичную песочницу с использованием микровиртуальных машин Firecracker для изоляции скриптов OpenClaw, где каждый скрипт выполняется в собственном ядре Linux с ограничением оперативной памяти в 128 МБ и без доступа к сети по умолчанию.

OpenClawRadar