Бесплатно Экспресс-аудит сайта:

10.10.2014

Уязвимость в OpenSSH позволяет злоумышленнику выполнить произвольный код на SFTP-сервере

В среду, 8 октября, в списке рассылки Full Disclosure  появились детали уязвимости в SFTP, поражающей 64-битные версии Linux с OpenSSH 6.6.  Брешь позволяет злоумышленнику получить доступ к файловой системе и при определенных манипуляциях выполнить произвольный код на сервере.

OpenSSH дает возможность предоставлять пользователям SFTP-доступ с ограниченными правами при использовании команды «ForceCommand internal-sftp». Если директория для изоляции SFTP в chroot (ChrootDirectory) не указана, злоумышленник может получить доступ к некоторым элементам файловой системы, в том числе и к файлу /proc/self/maps. Таким образом преступник может организовать запись в произвольную область памяти данного процесса и выполнить свой код на уязвимом сервере.

Уязвимость была обнаружена Яном Хорном (Jann Horn). К сообщению был прикреплен PoC-код, позволяющий проэксплуатировать брешь на 64-битных системах с OpenSSH 6.6 и более ранними версиями.

В вышедшей вчера OpenSSH 6.7 разработчики частично устранили брешь. Для того чтобы SFTP-сервер не получил доступа к /proc/self/{mem,maps}, следует использовать команду prtcl().