В 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.me/opennews/art.shtml?num=47912
> Также доступен пример JavaScript-кода для совершения атаки.А есть Torrent-клиенты без поддержки JavaScript? (типа как Links2 среди веб-браузеров)
rtorrent. Без финтефлюшек. Стоковый чисто из cli
Хороший клиент. Только демонизироваться не умеет, к сожалению, поэтому приходится всякие телодвижения совершать в начале настройки.
запускаю его в screen-e
> запускаю его в screen-eУ меня аналогичная история, дружище. Так он у меня и работает, с мордой на руТорренте. Кое-кто даже публиковал сыстемд-юниты для него, а я их пытался у себя внедрить, но как-то у меня не заработало сначала, а потом заработало, но не так, как обещало, а скрипт из рц.локал, который запускал скрин и пинал в него рторрент, и так нормально работал, так что я вот эти вот свои вялые трепыхания в сторону совершенства и порядка прекратил.
git версия умеет (branch feature-bind)
> git версия умеет (branch feature-bind)О. Интересно. Спасибо, посмотрю. Форк или фича от автора?
Я его патчил чтобы он демоном был, при этой гуй консольный выпиливал.
Автор патч не взял, так он у меня и используется приватно.
Могу выложить.
> Я его патчил чтобы он демоном был, при этой гуй консольный выпиливал.
> Автор патч не взял, так он у меня и используется приватно.
> Могу выложить.Пожалуйста, выложите. А чем управляли без гуя — через веб?
http://www.netlab.linkpc.net/wiki/ru:software:rtorrent:daemonСкрипт rc.d под фрю, патч я делал чтобы то что в портах фри могло с ним собраться.
Вообще, там патч можно было ещё доработать, потому что сейчас гуй по факту компеляется, просто оторван от консоли, а можно было бы и не собирать его вовсе.Ещё мой плагинчик для rutorrent: http://www.netlab.linkpc.net/download/software/rtorrent/ruto.../
Благодарю!
> Хороший клиент. Только демонизироваться не умеет, к сожалению...и вебфэйс еще ужаснее, и RPC протокол вместе с ним: те же яйца, вид в профиль, только вместо JSON-а еще и XML к тому же зачем-то. Бессмысленно и беспощадно.
>> Хороший клиент. Только демонизироваться не умеет, к сожалению
> ...и вебфэйс еще ужаснее, и RPC протокол вместе с ним: те же
> яйца, вид в профиль, только вместо JSON-а еще и XML к
> тому же зачем-то. Бессмысленно и беспощадно.Ну не знаю... Раз настроил, плагинов понацеплял, и работает себе. Веб-фейс, кстати, далеко не один, если я корректно припоминаю. Кстати, чего вам в том же руТорренте не хватает?
Для трансмишна тоже морд хватает. И в отличие от всего этого креатива это просто хтмлки перекидывающиеся с бэкэндом трансмишна AJAXом. А то что я вижу для рторента - еп, там пых какой-то. Вот чего мне не хватало так это пыха. Особенно на роутере или одноплатнике. И пых совсем не похож на кучу дыр.Интересно, насколько по вашему сложно похожую морду перенести на чистый AJAX и трансмишн? Чтобы без всяких пыхов :)
> Особенно на роутере или одноплатнике.Ну, роутеры, положим, очень разными бывают, как и одноплатники.
> Интересно, насколько по вашему сложно похожую морду перенести на чистый AJAX и
> трансмишн? Чтобы без всяких пыхов :)Не знаю, я не писатель.
> Ну, роутеры, положим, очень разными бывают, как и одноплатники.Трансмишн прекрасно живет на хомякороутере с 64 мегами RAM или более. Можно даже на копеечных или древних девайсах с 32 мегами запустить, если кэш порезать и с кол-вом торентов и пиров не наглеть, не забыв врубить ZRAM.
Одноплатник... одноплатника с ARM хватит "любого". Даже оранжа за 500 рублей с али, на 4 ядрах и 256-512 мегов рамы сабж просто зальется торентами. Все упрется в диск, в этом месте захочется одноплатник с нативным SATA, вероятно, чтобы цепануть нормальный винч по нормальному и-фейсу. Так можно сидбокс отгрохать, цена вопроса баксов 40-50. Хня размером с мыльницу получится.
> Не знаю, я не писатель.
Там по идее ajax-ом надо с бэкэндом перекидываться, само по себе это и логично и не особо сложно в реализации. Так что для сабжа есть пяток разных вебморд. И было бы здорово если бы упомянутые морды портанули и на бэк трансмишна. Но у rtorrent вроде как XML в запросах зачем-то.
И так между нами, в libxml и чем там еще XML парсят дыр в разы больше чем во всем что с транммишном связано. Про пых даже вспоминать неудобно, так что если кому-то требуется пых в бэкэнде чтобы торенты качать - ненене, пожелаем этому стрему скорейшей кончины, когда есть альтернатива которая без всего этого ужаса обходится.
Торрентокачалка без µTP - это примерно как комп без USB.
> Торрентокачалка без µTP - это примерно как комп без USB.А при чем тут uTP? Как он к JS относится? Transmission кстати uTP умеет давным давно, если что. И даже умеет делать его предпочитаемым, если ремота uTP умеет. Так канал меньше забивается и остальное не лагает.
У него тоже не всё везде хорошо:
https://www.opennet.me/opennews/art.shtml?num=48177
rtorrent
Этот JS - для страницы, которая будет XHR слать.
Так javascript выполняется не в torrent клиенте, а в браузере пользователя, на хосте которого крутится демоном transmission.
aria2.
Парадокс rtorrent и aria2 в том что их тоже тухловато без вебгуя использовать. И к обоим есть вебгуи. Но в силу маргинальности направления они не особо протестированы кем либо. Про них вы такое узнаете как-нибудь потом.А совсем без вебгуя неинтерактивный торент клиент рулить... ариа2 так вообще с торентами довольно криво работает, что с гуем что без.
> А есть Torrent-клиенты без поддержки JavaScript? (типа как Links2 среди веб-браузеров)Можно у сабжа не включать RPC или включить но с паролем. Он собственно и отключен по дефолту почти везде. Это его надо явно врубить, да еще без пароля, и вот тогда хакеры в столовой все-таки сопрут солонки. Может быть. Если смогут своей вебстраницей порулить RPC трансмишна, угадав айпи и порт и он и правда без пароля.
>> Также доступен пример JavaScript-кода для совершения атаки.
> А есть Torrent-клиенты без поддержки JavaScript? (типа как Links2 среди веб-браузеров)lftp (лень листать комменты, может уже и успели посоветовать, хз)
> lftp (лень листать комменты, может уже и успели посоветовать, хз)Раз у Вас в телнете даже поиск не работает -- давайте хоть я сообщу: нет, не успели, и да, офигел; спасибо 8)
Еще один плюс в использовании LEDE. Браузер на ноуте, transmission на роутере.
А уязвимость та же, хоть и чуть больше времени уйдет на перебор ip роутера. Или ты думаешь, что есть принципиальная разница для dns сервера в выдаче 127.0.0.1 и 192.168.0.1?
Принципиальная разница в использовании пароля.
При использовании пароля и localhost вариант неуязвим.
> При использовании пароля и localhost вариант неуязвим.Интерфейс ремотного управления без пароля - вообще не очень хорошая идея, мягко говоря.
> Или ты думаешь, что есть принципиальная разница для dns сервера в выдаче 127.0.0.1 и 192.168.0.1?Я думаю, что есть принципиальная разница между автоматическим харвейстером и ручным взломом. Плюс еще не забыть перебрать IPv6. Да еще TTL чтоб не сдохла.
Никто не будет заморачиваться этим, долбя по площадям.
А причем здесь ручной взлом? Будет на страничке не один iframe и A запись, а несколько десятков или даже сотен.
IPv6 only в локальной сети? Если такие извращенцы и существуют, то их можно игнорить.
> IPv6 only в локальной сети? Если такие извращенцы и существуют, то их можно игнорить.Вот и я о том же. Ни кто не будет писать зловреда, перебирающего не то что IPv6, но даже пару адресов IPv4. Задача зловреда накрыть максимум территории, а не гоняться за никому не нужным Неуловимым Джо. И в этом его ключевое отличие от адресного взлома.
Тем более, что кулхацкер не может быть уверен, что его страницу открыли из домашней сети, а не из сети предприятия с развернутой IDS/IPS, которая безусловно заинтересуется - какого хрена комп манагера Васи сканирует сеть на нестандартный порт. Так ведь и спалица не долго ;)
>Или ты думаешь, что есть принципиальная разница для dns сервера в выдаче 127.0.0.1 и 192.168.0.1?Ну, скорее всего, в этом случае DNS браузеру будет отдавать сам роутер и заставить его играть с TTL
сложнее.
Ты вообще в курсе, как работают NS в кеширующем режиме? Для того, чтобы они игнорировали TTL, придется лезть в их настройки или даже в исходный код.
Заменяем 127.0.0.1 на 192.168.1.1 и повторяем.
> Заменяем 127.0.0.1 на 192.168.1.1 и повторяем.Отсюда мораль: не оставлять дефолтный айпи у роутера. Для пущих лулзов использовать ipv6, пусть попробуют адрес подобрать.
Я что-то не правильнт прочитал илиэ о очередная уязвимость браузеров?
В веб обычная практика когда один домен имеет несколько IP адресов, так что скорее всего нет
Это использование давно известной принципиальной уязвимости браузеров применительно к конкретному демону.
А почему её до сих пор не закрыли? Ведь 127.0.0.1 - это локальный адрес.Кстати, NoSript (старый) со включённым ABE от такого защищает.
> Ведь 127.0.0.1 - это локальный адрес.Которым активно пользуются при разработке. То есть он вполне валиден.
>Ведь 127.0.0.1 - это локальный адрес.И что, теперь к локальной машине нельзя обращаться по имени?
Это не уязвимость браузера - это особенность разбора имени - ему может быть сопоставлен любой адрес, причем динамически. В силу этого проверка по имени домена это ни о чем.P.S. проблему как-то могло бы решить обнаружение запросов к другому серверу по сертификату (в случае SSL), вместо cross-domain.
Есть Torrential:
https://www.opennet.me/opennews/art.shtml?num=47429
Или если надо много настроек, то qBittorrent:
https://www.opennet.me/opennews/art.shtml?num=47604
qBittorent вообще-то из коробки полон JavaScript'ов... - https://github.com/qbittorrent/qBittorrent/search?l=javascript
Просвяти нас, о мудрейший, как сделать динамический вебгуй без яваскрипта?
С помощью CSS.
> С помощью CSS.И как CSSом подтянуть обновленные статусы торрентов?
Который точно также позволяет отправить запрос на 127.0.0.1 в каком-нибудь блоке after. :)Безпарольный доступ в сеть (даже внутри localhost) - данные, которыми ты поделился со всем миром.
> но разработчики никак не отреагировали на проблемуЧто за дурацкая привычка появилась у айтишников? Не в первый раз уже в этом году.
Ага. Появилась ;)
Вообще-то это неправда и разработчики таки отреагировали. То, что руки в конечном итоге дошли до одобрения и применения позже желаемого некоторыми отдельными личностями --- это другой вопрос.
> In 20 years of mitigating security issues, we've encountered plenty of resistance. Some upstream projects don't seem to care that their software follows unsafe practices or sacrifice security in favor of obsolete methods. It takes sustained pressure to tear down the walls.
>> но разработчики никак не отреагировали на проблему
> Что за дурацкая привычка появилась у айтишников? Не в первый раз уже
> в этом году.Видимо, так всем удобнее
>> но разработчики никак не отреагировали на проблему
> Что за дурацкая привычка появилась у айтишников? Не в первый раз уже
> в этом году.Да всем побоку просто.
>затрагивает только конфигурации, в которых запускается отдельный демон
>и он настроен на подключение без пароляС этого надо было начинать.
Это например дефолтная настройка в NAS от Asustor.
> Это например дефолтная настройка в NAS от Asustor.А ssh без пароля у них нет? Или только инженерные логины? :)
И каким образом эту уязвимость исправили в Debian?
apt -y purge transmission
> apt -y purge transmissionХорошо что ты не врач.
Полагаю, тем же, что и в Gentoo. Проверяют заголовок Host.
Чет столько понаписали, а тут всего лишь CSRF+DNS rebinding.
Т.е. нужно
1) состряпать подлую страницу
2) хакнуть DNS
3) хакнуть хост с бакендом transmission, например NAS или мультимедийный центр
4) установить там браузер
5) зайти на подлую страницуА не проще ли просто ограничиться п.3?
> Т.е. нужно
> 1) состряпать подлую страницу
> 2) хакнуть DNSDNS хакать не нужно. Достаточно купить доменное имя и "правильно" настроить свой DNS сервер.
> 3) хакнуть хост с бакендом transmission, например NAS или мультимедийный центр
> 4) установить там браузерПредполагается, что хозяин браузера настолько странный, что запускает transmission на рабочей станции, там же где и работает в браузере.
> 5) зайти на подлую страницу
> А не проще ли просто ограничиться п.3?
>Предполагается, что хозяин браузера настолько странный, что запускает transmission на рабочей станции, там же где и работает в браузере.И что тут странного? Предлагаете два десктопа заводить? ;)
>>Предполагается, что хозяин браузера настолько странный, что запускает transmission на рабочей станции, там же где и работает в браузере.
> И что тут странного? Предлагаете два десктопа заводить? ;)Transmission умеет работать в режиме десктопного приложения. И тогда порты не оттопыривает. А умеет в режиме демона- тогда он оттопыривает порт для подключения всяких управлялок. Вопрос- нафига настраивать демона на десктопе?
> Transmission умеет работать в режиме десктопного приложения. И тогда порты не оттопыривает.
> А умеет в режиме демона- тогда он оттопыривает порт для подключения
> всяких управлялок. Вопрос- нафига настраивать демона на десктопе?Каким образом режим демона связан с доступностью порта управления?
> Каким образом режим демона связан с доступностью порта управления?Демон без управления штука непрактичная. Все-таки торенты надо как-то добавить на закачку, а потом неплохо бы узнать что они скачались. В этом месте демону требуется какой-то интерфейс управления. Десктопной же программе вывешивать ремотное управление не акиуально, у нее локальный гуй есть.
>> Каким образом режим демона связан с доступностью порта управления?
> Демон без управления штука непрактичная.Управление бывает разным.
> Все-таки торенты надо как-то добавить на закачку
watch-dir
> а потом неплохо бы узнать что они скачались.
incomplete-dir
> Управление бывает разным.Ну да. И как на мой вкус, прицепиться к РЕМОТНОМУ демону торентокачалки на роутере или одноплатнике очень удобно. Что через вебморду что gtk/qt мордой по тому же протоколу.
> watch-dir
И как мне этим вачдиром воспользоваться, если демон въе где-то там, на роутере или одноплатнике с хардом под торенты? Пробрасывать его оттуда?
> incomplete-dir
Что - incomplete dir? Если я локально нечто запущу, то могу на GTK или Qt прогу посмотреть, как на интерфейс. Демона же обычно запускают на неинтерактивной машине без гуя и incomplete-dir где-нить на одноплатнике, роутере или серваке очень мне приболел пользоваться им где-то там.
Собссно у сабжа vuln случался только в идиотской ситуации когда управление разрешено, пароль не поставлен, а ремотная вебпага синхронно с днс решили на пару приколоться над растяпой. Это, конечно, тоже безобразие. Но масштаб проблемы весьма маргинальный и затрагивает только каких-то очень странных людей, зачем-то пускающих клиент без авторизации. И таки да, если морда без авторизации, стоит быть готовым что кто угодно подкрутит немного настройки в этой морде. Странно, правда?
>> watch-dir
> И как мне этим вачдиром воспользоваться, если демон въе где-то там, на
> роутере или одноплатнике с хардом под торенты? Пробрасывать его оттуда?Послушайте, вы спросили — я ответил. Есть способ бросать файлы? Есть. Вы не можете его использовать по какой-то причине — ради бога, не используйте.
> Что - incomplete dir? Если я локально нечто запущу, то могу на
> GTK или Qt прогу посмотреть, как на интерфейс. Демона же обычно
> запускают на неинтерактивной машине без гуя и incomplete-dir где-нить на одноплатнике,
> роутере или серваке очень мне приболел пользоваться им где-то там.О господи. Снова пришёл кто-то, кто знает, КАК ИМЕННО все это запускают, и никак иначе, по его мнению.
> Послушайте, вы спросили — я ответил. Есть способ бросать файлы? Есть. Вы
> не можете его использовать по какой-то причине — ради бога, не используйте.Да можно то что угодно. Тут скорее уместен вопрос "а нафига?". Нафига это делать именно так? Если у меня локальная машина доступна, упомянутое взаимодействие выглядит сложным, не наглядным, требует лишних действий и не дает представления чем сейчас занимается программа.
> О господи. Снова пришёл кто-то, кто знает, КАК ИМЕННО все это запускают,
> и никак иначе, по его мнению.Никто не спорит что можно придумать бесконечное количество способов взаимодействия с программой. Можно например телеграфным ключом настукивать содержимое торента закодировав его в base64. Всего полчаса траха - и закачка добалена. Но зачем?
Качать маковерсию с офсайта уже безопасно? А то они несколько раз протрояненную выкладывали на сколько я помню...
После первого случая перешёл на qBittorrent. Хоть под макакосью и страшный (особенно версия 4), но мне им торренты качать, а не рассматривать.
> Информация об уязвимости и патч для её устранения были переданы разработчикам Transmission ещё 30 ноября, но разработчики никак не отреагировали на проблему,Эх, какие разработчики? Transmission переехал на github как раз после того, как разработчики бросили проект. Хорошо что человек, которые предложил кучу патчей подобрал трансмиссию и приютил на гитхабе. Интересно, у него есть вообще доступ к тому закрытому списку рассылки, куда было послано сообщение?
> поэтому исследователь решил раскрыть подробности об атаке не дожидаясь истечения 90 дней, чтобы дистрибутивы могли устранить уязвимость независимо от основного проекта.
Класс! А зачем тогда вообще этот срок?
> По мнению разработчиков Transmission уязвимость не представляет практическую опасность, так как...
А где эти разработчики это сказали?
Да уж, к сожалению разработка у Трансмиссии совсем встала. В последнее время я лично переполз на Tixati, закрытый правда, и интерфейс специфический, нужно привыкнуть, но вцелом пошустрее и, главное, поинформативнее. Скажем трансмиссия очень плохо обрабатывает magnet ссылки, Тиксати и быстрее их ловит и хотя бы показывает почему они не запускаются (есть такие клиенты, которые не поддерживают передачу метаданных, в результате пиры вроде есть, а закачка не стартует).
> Да уж, к сожалению разработка у Трансмиссии совсем встала.
commit eb5d1a79cbe1b9bc5b22fdcc598694ecd4d02f43
Merge: c8696df cf7173d
Author: Mike Gelfand <mikedld@users.noreply.github.com>
Date: Mon Jan 15 23:46:32 2018 +0300Merge pull request #468 from taviso/master
CVE-2018-5702: Mitigate dns rebinding attacks against daemoncommit cf7173df930cfa7ac1b1b0e9027c1deffd0b3c84
Author: Tavis Ormandy <taviso@google.com>
Date: Thu Jan 11 10:00:41 2018 -0800mitigate dns rebinding attacks against daemon
Однако сабж починили только в путь.> бы показывает почему они не запускаются (есть такие клиенты, которые не
> поддерживают передачу метаданных, в результате пиры вроде есть, а закачка не стартует).В трансмишне можно включить вербозный лог если тебе интересно в чужих глюках копаться. А так статус закачки показывается и когда метаданные получены, свойства здорово меняются. У трансмишна раньше были свои глюки еще с передачей метаданных, но это давно починено. А чужие глюки - тут уж никто не виноват, вопрос к кривым ремотным клиентам. Если пипец как интересно, debug лог пишет что именно он с метаданными делает, сошелся ли хэш, когда трансфер "demagnetized" стал и проч. Только нафиг этим голову забивать? Трансмишн хорош тем что работает "где-то там", на роутере или мелком ARMовском одноплатнике, и его не видно.
Ну как зачем? В Тиксати смотришь - ага, имеются пиры, которые, гады, не передают (не умеют) метаданные. Таким образом хрен его знает запустится ли эта закачка в принципе когда либо, возможно стоит поискать альтернативы.
В Трансмиссии ты видишь что есть пиры и...все.
В тиксати смотришь - неведомый блоб, который хрен запустишь на роутере. Обламываешься и уходишь.
> Эх, какие разработчики? Transmission переехал на github как раз после того, как
> разработчики бросили проект.Шутить изволишь? На гитхабе все те же лица что и в траке раньше. А то что на гитхабе появилась куча патчей - да, с git'ом да на гитхабе стало куда удобнее pull request присылать чем в svn-е то да с кривущим trak-ом.
Не вижу активного участия Jordan Lee и Mitchell Livingston! Только в конце 2014-го к ним присоединился Mike Gelfand. Он и перенял на себя проект.
> Не вижу активного участия Jordan Lee и Mitchell Livingston! Только в конце
> 2014-го к ним присоединился Mike Gelfand. Он и перенял на себя проект.Ну это да. Впрочем Jordan делал core, к нему вроде крупных проблем и претензий не осталось и все просто работает. Улучшать конечно можно до бесконечности, но в конечном итоге, это работает.
Livingston - подозреваю что именно его как ярого макосника и хакали несколько раз, подсовывая троянскую версию в макосный бинарь.
JCH написавший libdht под трансмишн - его либа никуда и не делась, периодически новые версии тягают в third-party/dht. То что перца нет в явном виде - да, он где-то за сценой. Libutp из utorrent тоже подтягивают периодически. Иногда вот некто присылает pull request-ы, на гитхабе это проще чем в траке с svn.
Вообще распределенная разработка штука забавная. Там довольно сложно провести четкие грани.
> в которых запускается отдельный демон (например, в случае применения web-фронтэнда) и он настроен на подключение без пароля.ну если без пароля -- тогда о чём вообще разговор?
тожемне уязвимость
> Для обхода данного ограничения предлагается интересный трюк.А при чём тут transmission?
>> Для обхода данного ограничения предлагается интересный трюк.
> А при чём тут transmission?Так ставьте Whonix, и в тоннель ныряйте (пока от туда свет не показался ;)!
gRPC у них мозгов запилить не хватило, зато можно юзать дырявые RPC..
> gRPC у них мозгов запилить не хватило, зато можно юзать дырявые RPC..У них RPC ориентирован на работу с вебмордами, по сути AJAX обычный, порт управления - простенький HTTP, по нему летает JSON во все поля, да и вебморду если надо через него же отгрузит. До кучи к нему умеют цепляться GTKшная софтина управления или Qt'шный вариант трансмишна. Также есть некая штука на дотнете под винду, говорящая по тому же протоколу.
на Убунту патч пришёл сегодня.