OpenSSH 10.3 закрывает shell injection и начинает постквантовую миграцию
OpenSSH 10.3 от 2 апреля — shell injection через %-tokens, ошибки сертификатов, ужесточение ECDSA и начало постквантовой миграции. Разбираем все изменения.
Новости TprogerЕсли вы администрируете серверы по SSH — обновите OpenSSH до версии 10.3. Релиз от 2 апреля закрывает несколько уязвимостей, включая shell injection через имена пользователей, и начинает подготовку к постквантовой криптографии.
Это не рядовое обновление безопасности: OpenSSH 10.3 меняет поведение сертификатов, ужесточает валидацию и предупреждает о необходимости перехода на постквантовые алгоритмы обмена ключами.
Ключевые выводы
- OpenSSH 10.3 (релиз 2 апреля 2026) — исправление shell injection в ssh через %-tokens в ssh_config
- Изменено поведение сертификатов: пустая секция principals больше не работает как wildcard
- scp в legacy-режиме больше не сохраняет setuid/setgid при скачивании файлов от root
- Исправлена ошибка в PubkeyAcceptedAlgorithms: ECDSA-алгоритмы больше не взаимозаменяемы
- Начало постквантовой миграции: предупреждения о не-PQC алгоритмах обмена ключами
Исправления безопасности
Shell injection через имена пользователей
Самый серьёзный фикс: валидация метасимволов оболочки в именах пользователей, переданных через командную строку, выполнялась слишком поздно. В определённых конфигурациях — например, при использовании %u в блоке Match exec — атакующий мог выполнить произвольные shell-команды.
Обнаружил: Florian Kohnhäuser. Разработчики OpenSSH напоминают: не стоит напрямую передавать пользовательский ввод в командную строку ssh.
Ошибка в principals сертификатов
До 10.3 сертификат с пустой секцией principals работал как wildcard — позволял аутентификацию от имени любого пользователя, доверяющего CA через authorized_keys. Если CA случайно выпускал такой сертификат — вместо бесполезности он давал максимальный доступ.
Теперь: пустая секция principals не совпадает ни с одним principal. Также исправлена обработка wildcard-символов в principals сертификатов.
setuid/setgid в scp
При скачивании файлов через scp -O (legacy mode) от root без флага -p — setuid/setgid биты не очищались. Баг существовал с оригинальной программы rcp из Berkeley.
ECDSA: алгоритмы больше не взаимозаменяемы
Если в PubkeyAcceptedAlgorithms указан один ECDSA-алгоритм (например, ecdsa-sha2-nistp384), другие ECDSA-алгоритмы тоже принимались. Теперь каждый алгоритм проверяется строго по списку.
Потенциально несовместимые изменения
- Rekeying обязателен. Убрана совместимость с реализациями SSH, которые не поддерживают rekeying. Такие соединения теперь будут разрываться при необходимости обновить ключи сессии
- ProxyJump валидирует имена. Параметры
-JиProxyJumpиз командной строки теперь проверяют имена пользователей и хостов на метасимволы. Это предотвращает shell injection при прямом пробросе пользовательского ввода
Постквантовая миграция
OpenSSH 10.3 начинает предупреждать о соединениях, использующих не-постквантовые алгоритмы обмена ключами. Это не блокировка — пока только предупреждение в логах — но сигнал индустрии: миграция на PQC-алгоритмы должна начаться уже сейчас.
Контекст: Cloudflare нацелился на полную постквантовую безопасность к 2029 году. Filippo Valsorda, ведущий криптограф Go, считает, что риск появления криптографически значимых квантовых компьютеров в ближайшие годы достаточно высок, чтобы действовать.
Проверить, какие алгоритмы используют ваши соединения:
Как обновиться
Часто задаваемые вопросы
Нужно ли обновляться, если я не использую AuthZ сертификаты?
Да. Shell injection через имена пользователей и ошибка в ECDSA-алгоритмах затрагивают стандартные конфигурации SSH. Обновление рекомендуется для всех.
Что значат предупреждения о постквантовых алгоритмах?
OpenSSH 10.3 предупреждает, если обмен ключами использует алгоритмы, уязвимые для квантовых компьютеров (RSA, ECDH). Пока это только логи, но в будущих версиях могут появиться более строгие ограничения. Рекомендуется начать планирование миграции на ML-KEM и подобные PQC-алгоритмы.
Могут ли обновления сломать существующие подключения?
Да, если удалённая сторона не поддерживает rekeying — соединение теперь разорвётся. Также проверки ProxyJump могут сломать скрипты, которые передают непроверенный ввод в параметр -J. Протестируйте на staging.
Как долго ждать постквантовых алгоритмов в SSH?
OpenSSH уже поддерживает гибридный ML-KEM (Kyber) обмен ключами. Он включён по умолчанию в современных конфигурациях. Проверьте: ssh -Q kex — если в списке есть mlkem, вы уже защищены.
Выводы
OpenSSH 10.3 — важный релиз: не только закрывает реальные уязвимости (shell injection, ошибки сертификатов), но и начинает подготовку экосистемы к постквантовому будущему. Обновитесь и проверьте, какие алгоритмы используют ваши SSH-соединения.