The OpenNET Project / Index page

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



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

Исходное сообщение
"Уязвимость в BitTorrent-клиенте Transmission, позволяющая вы..."
Отправлено opennews, 16-Янв-18 09:57 
В BitTorrent-клиенте Transmission (http://www.transmissionbt.com/) выявлена уязвимость (https://github.com/transmission/transmission/pull/468) (CVE-2018-5702 (https://security-tracker.debian.org/tracker/CVE-2018-5702)), затрагивающая RPC-интерфейс, используемый для организации связи между бэкендом (рабочий процесс) и фронтэндом (интерфейс). Уязвимость позволяет организовать атаку, которая, если в системе запущен  Transmission, может привести к выполнению произвольного кода в системе, при открытии в браузере сайта атакующего.


Исправление  доступно в виде патча (https://patch-diff.githubusercontent.com/raw/transmission/tr...) и обновления для дистрибутивов Debian (https://security-tracker.debian.org/tracker/CVE-2018-5702), FreeBSD (http://www.vuxml.org/freebsd/3e5b8bd3-0c32-452f-a60e-beab7b7...) (пока недоступно для Fedora (https://bodhi.fedoraproject.org/updates/?releases=F27&type=s...), SUSE (https://www.suse.com/security/cve/CVE-2018-5702/), openSUSE (https://lists.opensuse.org/opensuse-security-announce/2018-01/), Ubuntu (https://people.canonical.com/~ubuntu-security/cve/2018/CVE-2...), RHEL/EPEL (https://bugzilla.redhat.com/show_bug.cgi?id=1534063)). Информация об уязвимости и патч для её устранения были переданы (https://bugs.chromium.org/p/project-zero/issues/detail?id=1447) разработчикам Transmission ещё 30 ноября, но разработчики никак не отреагировали на проблему, поэтому исследователь решил раскрыть подробности об атаке не дожидаясь истечения 90 дней, чтобы дистрибутивы могли устранить уязвимость не дожидаясь обновления от основного проекта.

По умолчанию бэкенд принимает запросы на сетевом порту 9091, привязываясь к интерфейсу localhost (127.0.0.1). Запросы фронтэндов отправляются с использованием формата JSON, а для успешного подключения обязательно заполнение HTTP-заголовка "X-Transmission-Session-Id". Злоумышленник может создать страницу, при открытии которой при помощи вызова XMLHttpRequest() можно отправить произвольный запрос на localhost, но в этом случае невозможно подставить свой заголовок "X-Transmission-Session-Id", так как сработает защита от выхода за пределы области текущего домена (cross-origin).


Для обход данного ограничения предлагается интересный трюк. Для хоста с которого предлагается страница для атаки на DNS настраивается поочерёдная отдача двух IP-адресов: на первый запрос отдаётся реальный IP сервера со страницей, а затем возвращается 127.0.0.1. Время жизни (TTL) для данной DNS-записи выставляется в минимальное значение. При открытии страницы браузер определяет реальный IP сервера атакущего и загружает содержимое страницы. На странице запускается JavaScript-код, ожидающий истечения TTL и после этого отправляющий при помощи XMLHttpRequest() второй запрос, который теперь определяет хост как 127.0.0.1, что приводит к обращению к внутреннему сетевому интерфейсу компьютера пользователя без ограничений cross-origin, что позволяет передать произвольный HTTP-заголовок.

Для демонстрации атаки подготовлен специальный минималистичный DNS-сервер rbndr (https://github.com/taviso/rbndr), циклично меняющий  IP для хоста.  Также доступен (http://lock.cmpxchg8b.com/Asoquu3e.html) пример JavaScript-кода для совершения атаки. Для организации выполнения кода после успешной отправки запроса к бэкенду  используется возможность Transmission по привязке выполнения скрипта к загрузке торрента. В частности, можно передать бэкенду команду по включению режима script-torrent-done-enabled и запустить любой скрипт или установить параметр download-dir в /home/user/  и загрузить фиктивный торрент с именем ".bashrc".

URL: http://openwall.com/lists/oss-security/2018/01/11/1
Новость: http://www.opennet.ru/opennews/art.shtml?num=47912

 

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



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

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