The OpenNET Project / Index page

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

08.12.2016 21:00  Уязвимость в Roundcube Webmail, позволяющая выполнить код на сервере

В web-ориентированном почтовом клиенте Roundcube обнаружена опасная уязвимость, позволяющая выполнить свой код на сервере через отправку из web-интерфейса специально оформленного сообщения. Уязвимость проявляется при использовании настроек по умолчанию (для отправки используется PHP-функция mail() и утилита sendmail, отключен safe_mode).

Суть проблемы в небезопасном использовании PHP-функции mail(), в числе аргументов которой передаются полученные от пользователя непроверенные данные. В частности, для отправки сообщения в Roundcube используется код:


  $sent = mail($to, $subject, $msg_body, $header_str, "-f$from");

который приведёт к вызову утилиты sendmail с передачей в командной строке аргумента "-f$from". Так как содержимое заполняемого пользователем поля From некорректно проверяется на предмет опасных символов, в качестве отправителя можно указать, например, "example@example.com -OQueueDirectory=/tmp -X/var/www/html/rce.php", что при отправке сообщения приведёт к записи содержимого заголовка письма в файл /var/www/html/rce.php. После чего атакующий может через браузер запросить скрипт rce.php и он будет выполнен на сервере.

Проблема устранена в выпусках Roundcube 1.2.3 и 1.1.7. Администраторам Roundcube рекомендует срочно установить обновление и проверить свои серверы на предмет активности атакующих (Roundcube достаточно популярный webmail-клиент, c sourceforge за год было загружено более 260 тысяч копий). В качестве обходного метода защиты вместо PHP-функции mail() можно настроить отправку по SMTP.

  1. Главная ссылка к новости (https://blog.ripstech.com/2016...)
  2. OpenNews: Доступен Roundcube Webmail 1.2.0 с поддержкой PGP
  3. OpenNews: В пакете для организации групповой работы Horde обнаружен бэкдор
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: roundcube, mail
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 21:19, 08/12/2016 [ответить] [смотреть все]
  • +/
    В Horde что-то похожее было.
     
  • 1.2, Аноним, 21:31, 08/12/2016 [ответить] [смотреть все]
  • +6 +/
    Похоже это только вершина айсберга и всё очень плохо.
    Навскидку, первое что попалось в поиске на GitHub с такой же неисправленной уязвимостью:

    https://github.com/paumiau/pauspeculator/blob/c177dcda06921e51632aa8bbd6296356
    https://github.com/hyperlinkage/elaborate/blob/1dfa8467ad0b0cded5c89fdb12cb716
    https://github.com/SilexLab/Board/blob/6529d7a340abaaffd3dfd8ceea8744690bbe540
    https://github.com/mbaechler/OBM/blob/355c8233cd75c02b1e7252c5b43599aa2c11a6e9
    https://github.com/jungepiraten/vpanel/blob/fc29709c68fe57089ff2d476cc7f458faa

     
     
  • 2.8, Mail, 08:10, 09/12/2016 [^] [ответить] [смотреть все] [показать ветку]
  • +3 +/
    Тока не говорит что все это на PHP И да это не язык, это программисты ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.20, Fantomas, 12:38, 09/12/2016 [^] [ответить] [смотреть все]  
  • –4 +/
    все проблемы в архитектуре пхп почему программисты должны постоянно держать в г... весь текст скрыт [показать]
     
     
  • 4.21, Клыкастый, 12:44, 09/12/2016 [^] [ответить] [смотреть все]  
  • +3 +/
    безопасность строго говоря любую прогу нужно писать исходя из того, что ввод по... весь текст скрыт [показать]
     
     
  • 5.22, Fantomas, 13:08, 09/12/2016 [^] [ответить] [смотреть все]  
  • –4 +/
    язык должен быть безопасный, а не программист должен все время сидеть как на иго... весь текст скрыт [показать]
     
     
  • 6.23, Andrey Mitrofanov, 13:19, 09/12/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Пишите на brainfnck-е -- на нём не было ни одной уязвимости Ну, ещё алгол68 и ... весь текст скрыт [показать]
     
     
  • 7.24, Fantomas, 13:54, 09/12/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    лучше CGI на фортране нет, пинать пхп разрабов, тогда всем будет счастье ... весь текст скрыт [показать]
     
  • 6.29, angra, 16:52, 09/12/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Конкретно в этом случае косяк не самого php, а программистов roundcube Так что ... весь текст скрыт [показать]
     
  • 6.31, Куяврег, 20:07, 10/12/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    язык должен быть безопасный а программист должен сидеть, как на иголках нужно ... весь текст скрыт [показать]
     
  • 6.32, bOOster, 06:15, 11/12/2016 [^] [ответить] [смотреть все]  
  • +/
    Парадоксальное заявление, один программист должен сидеть как на иголках когда ... весь текст скрыт [показать]
     
  • 5.26, GNU Spinu, 14:02, 09/12/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Он экранировал буквой т середину опастного слова - ... весь текст скрыт [показать]
     
  • 3.30, anomymous, 17:02, 10/12/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    И много вы вебмейл-интерфейсов с такой функциональностью и без монструозного наб... весь текст скрыт [показать]
     
     ....нить скрыта, показать (11)

  • 1.3, Запрещенка, 22:17, 08/12/2016 [ответить] [смотреть все]  
  • +/
    санитйзеры exec() не использую явно
     
  • 1.4, олхнтп, 23:49, 08/12/2016 [ответить] [смотреть все]  
  • +1 +/
    SMTP ошибка: [554] 5.5.1 Error: no valid recipients
    хотя завтра всё равно ж придётся патчить :/
     
  • 1.5, SubGun, 00:31, 09/12/2016 [ответить] [смотреть все]  
  • +4 +/
    Никогда не видел roundcube на локалхосте. Обычно отправка как раз через smtp идет. Что-то сильно преувеличено значение уязвимости.
     
     
  • 2.9, Аноним, 08:54, 09/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Обычно и по дефолту как раз таки в очередь пихают через PHP-шный mail , очень... весь текст скрыт [показать] [показать ветку]
     
  • 1.6, gogo, 01:45, 09/12/2016 [ответить] [смотреть все]  
  • +1 +/
    Для эксплуатации уязвимости нужно иметь, как минимум, доступ к вебмейлу с возможностью отправить письмо.
    Хотя дырка, безусловно, просто позорная.
     
  • 1.7, Аноним, 02:02, 09/12/2016 [ответить] [смотреть все]  
  • –2 +/
    А что на серверах кто-то ещё использует sendmail В postfix вом sendmail -X игно... весь текст скрыт [показать]
     
  • 1.12, Аноним, 10:24, 09/12/2016 [ответить] [смотреть все]  
  • –2 +/
    Я же говорил Javascript не нужен и его быть не должно , вспомнити npm leftpad и ... весь текст скрыт [показать]
     
     
  • 2.15, Andrey Mitrofanov, 10:55, 09/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Даёшь R O web-почту с бейзик-авторизацией и _статическими_ HTML-страницами Ура,... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.18, Аноним, 12:12, 09/12/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Лучше так чем с javascript Javascript тормозит , уже забыли про атом А голые... весь текст скрыт [показать]
     
  • 2.19, angra, 12:18, 09/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Болезный, тут javascript вообще не при делах Интересно, навязчивое желание вез... весь текст скрыт [показать] [показать ветку]
     
  • 1.14, Аноним, 10:50, 09/12/2016 [ответить] [смотреть все]  
  • +/
    Пожалуйста, введите хотябы одного получателя
     
     
  • 2.38, fx, 09:46, 29/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    что, так и говорит "хотябы"?
     
  • 1.16, Аноним, 11:13, 09/12/2016 [ответить] [смотреть все]  
  • +/
    Давно пора на http www rainloop net переходить, как в свое время с белочки ... весь текст скрыт [показать]
     
     
  • 2.27, йцукен, 15:58, 09/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Я лично первый раз слышу про него.
     
  • 1.25, Дмитрий, 13:58, 09/12/2016 [ответить] [смотреть все]  
  • –2 +/
    Кому: example@example.com -OQueueDirectory=/tmp -X/tmp/rce.php
    SMTP ошибка: [503] valid RCPT command must precede DATA
    ЧЯДНТ?
     
     
  • 2.28, angra, 16:44, 09/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Не включаешь мозг. В результате не можешь понять ни условия срабатывания уязвимости, ни сообщение об ошибке.
     
  • 1.33, www2, 08:01, 11/12/2016 [ответить] [смотреть все]  
  • –1 +/
    Хорошо, что я в chroot все веб-приложения на php запускаю. Хоть как-то от подобных вещей защищает.
     
  • 1.34, Некто, 10:36, 12/12/2016 [ответить] [смотреть все]  
  • +/
    >приведёт к записи содержимого заголовка письма в файл /var/www/html/rce.php

    Читаю это и недоумеваю. Неужели в 2017 году еще кто-то дает пользователю веб сервера права на запись в каталоги, которые доступны из адресной строки? Или еще хлеще, sendmail вызывается с suid битом из веб приложения? Это - клиника! Программисты Roundcube (хоть они и козлы!) такому админу не помогут. Только лоботомия.

     
     
  • 2.35, Некто, 10:38, 12/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > Неужели в 2017 году

    Сорри, поторопился. Конечно 2016

     
     
  • 3.36, Прист, 10:52, 12/12/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    ПРЕДЪЯВИТЬ машину времени НЕМЕДЛЕННО!!!
     
     
  • 4.37, adminlocalhost, 17:21, 13/12/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    > ПРЕДЪЯВИТЬ машину времени НЕМЕДЛЕННО!!!

    ты из ФСКН что ле?

     
  • 1.39, Nat, 13:48, 27/01/2017 [ответить] [смотреть все]  
  • +/
    здравсвуйте! помогите, пожалуйста!

    как можно зайти в Roundcube если пароль забыт? почта так же привязана к Gmail, что делать? на Gmail пароль установлен точно другой, не такой как на Roundcube...

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor