Все уязвимости

Практический разбор · OpenSSH

DisableForwarding в OpenSSH не отключал X11 и agent forwarding

Проверьте OpenSSH sshd 7.4–9.9, если в sshd_config используется DisableForwarding yes: из-за ошибки настройка не отключала X11 forwarding и пересылку ssh-agent, хотя заявляла запрет всех forwarding-механизмов. Исправление включено в OpenSSH 10.0.

Проверено 26 октября 2026Upstream называет это minor security fix и не назначает CVE в опубликованном advisory. Не присваиваем собственный CVSS: практический эффект зависит от включённых опций, политики доступа и того, запрашивает ли клиент forwarding.

Кому нужно проверить

Администраторам sshd, которые ограничивают пересылку агента, X11, TCP, Unix-сокетов или туннелей директивой DisableForwarding. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

Если администратор полагался на DisableForwarding для блокировки всех видов пересылки, X11 и agent forwarding могли оставаться разрешёнными. Это нарушает ожидаемую границу доступа; само наличие уязвимой версии не означает, что forwarding реально доступен: учитывайте остальные настройки и запросы клиента.

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

Официальный advisory OpenSSH указывает sshd версии 7.4–9.9 включительно. Ошибка затрагивала DisableForwarding: эта директива должна запрещать forwarding-механизмы, но до исправления не блокировала X11 и agent forwarding. X11 в sshd по умолчанию выключен, а клиент по умолчанию не запрашивает forwarding агента, поэтому риск зависит от конфигурации и запроса клиента.

Исправленные версии

Исправлено в upstream OpenSSH 10.0. Установите пакет с исправлением от поставщика ОС и проверьте backport. До обновления отключайте используемые механизмы отдельно через AllowAgentForwarding no и X11Forwarding no; не полагайтесь на DisableForwarding как единственный запрет в уязвимой версии.

Что сделать

  1. 1Проверьте версию sshd и фактическую конфигурацию, включая блоки Match. Найдите DisableForwarding, AllowAgentForwarding и X11Forwarding; также проверьте запросы forwarding со стороны клиентов.
  2. 2Обновите OpenSSH до 10.0 или пакета ОС с backport исправления. Сопоставьте статус с advisory именно вашей ОС: дистрибутивные номера и сроки исправления отличаются от upstream.
  3. 3До обновления, если forwarding не нужен, задайте AllowAgentForwarding no и X11Forwarding no явно; повторите эти ограничения в соответствующих блоках Match, если там есть переопределения.
  4. 4Выполните проверку конфигурации sshd и проверьте эффективные значения с учётом пользователя/адреса через поддерживаемые параметры -C и -T. Затем подтвердите, что текущие административные входы продолжают работать.
  5. 5После обновления протестируйте вход ограниченной учётной записью: убедитесь, что неразрешённые типы forwarding отклоняются, а необходимые сеансы и правила Match сохраняют ожидаемое поведение.

Проверка политики forwarding

Статичная схема принятия решения. Подписи и порядок полностью доступны как нумерованный список; анимация не нужна для понимания процедуры.

  1. 1Определите версию sshd и наличие DisableForwarding
  2. 2Проверьте AllowAgentForwarding и X11Forwarding, включая Match
  3. 3До исправления явно запретите forwarding, который не нужен
  4. 4Обновите пакет и проверьте эффективную конфигурацию
  5. 5Проверьте ограничения и штатный вход тестовой учётной записью

Примеры конфигурации и проверки

Явный запрет agent и X11 forwarding до обновления (ssh_config)
AllowAgentForwarding no
X11Forwarding no

Фрагмент sshd_config для сервера, на котором forwarding не требуется. Проверьте допустимость директив и их значений для вашей версии, блоки Match и политику доступа; сохраните резервную копию. Эти настройки не запрещают другие механизмы пересылки сами по себе.

Проверка эффективных значений для заданного контекста (shell)
sudo sshd -T -C user=example,host=server.example,addr=192.0.2.10 | grep -E '^(disableforwarding|allowagentforwarding|x11forwarding) '

Пример только для диагностики: замените значения контекста тестовыми данными вашей инфраструктуры. sshd -T -C вычисляет конфигурацию с учётом Match; команда ничего не меняет. Не публикуйте реальные адреса или учётные данные в отчётах.

Как не подпустить ботов к сайту

BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.

Первоисточники

Снизьте шанс атаки до того, как бот дойдёт до сайта

Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.