
В ядре Linux обнаружена и устранена критическая уязвимость, получившая неофициальное название ssh-keysign-pwn. Этот дефект позволял локальным непривилегированным пользователям получать доступ к файлам, защищенным правами суперпользователя (root), включая приватные SSH host-ключи и системный файл /etc/shadow. На момент выхода материала конкретный номер CVE еще не был назначен.
Суть проблемы: ошибка в логике ядра
Несмотря на название, уязвимость никак не связана с самим сервером OpenSSH (sshd). Проблема кроется в механизмах ядра Linux, отвечающих за проверку ptrace и работу с файловыми дескрипторами через системный вызов pidfd_getfd(2).
Ошибка возникала из-за некорректной обработки состояния процесса функцией __ptrace_may_access(). В момент завершения процесса ядро вызывает exit_mm() (освобождение памяти) раньше, чем закрываются файловые дескрипторы через exit_files(). В этот короткий промежуток времени процесс уже не имеет адресного пространства, но все еще обладает открытыми дескрипторами. Это позволяло обойти проверку состояния «dumpable» и получить доступ к чужому файловому дескриптору, если у атакующего и жертвы совпадал UID.
Механизм эксплуатации
Атака строится вокруг работы setuid-программ. Типичный сценарий эксплуатации включает приложения, которые:
- Открывают защищенный файл с правами root.
- Сбрасывают привилегии до уровня обычного пользователя.
- Завершают свою работу, сохраняя при этом открытый дескриптор файла.
В качестве примера исследователи приводят утилиту ssh-keysign, которая работает с приватными ключами хоста, и утилиту chage, взаимодействующую с /etc/shadow. Доступ к последнему критически опасен, так как позволяет проводить офлайн-подбор паролей пользователей.
Исправление и рекомендации
Уязвимость была выявлена специалистами Qualys и исправлена Линусом Торвальдсом 14 мая 2026 года. Коммит 31e62c2ebbfd («ptrace: slightly saner ‘get_dumpable()’ logic») корректирует логику проверки dumpability, требуя наличия прав CAP_SYS_PTRACE.
Патч уже внесен в основную ветку ядра. Разработчики дистрибутивов, включая Debian, уже приступили к переносу (cherry-pick) исправления в свои пакеты.
Что делать администраторам
- Обновление: В первую очередь необходимо установить актуальное обновление ядра от вашего дистрибутива и выполнить перезагрузку системы.
- Проверка безопасности: Если на сервере был локальный пользователь, которому нельзя доверять, рекомендуется выполнить ротацию SSH host-ключей и проверить содержимое
/etc/shadowна предмет подозрительных изменений.
Автор PoC (доказательства концепции) подтвердил наличие уязвимости в широком спектре систем: от Raspberry Pi OS Bookworm и Debian 13 до различных релизов Ubuntu (22.04, 24.04, 26.04), Arch и CentOS 9. Фактическая подверженность конкретной системы зависит от версии ядра и наличия бэкпортов исправлений.





