В qBittorrent устранен недостаток удаленного выполнения кода, вызванный неспособностью проверить сертификаты SSL/TLS в DownloadManager управляющем загрузками в приложении.
Уязвимость, добавленная в git 6 апреля 2010 года, в итоге была исправлена в последнем выпуске в версии 5.0.1 от 28 октября 2024 года, более чем через 14 лет.
qBittorrent – это бесплатный клиент с открытым исходным кодом для загрузки и обмена файлами по протоколу BitTorrent. Кроссплатформенность, IP-фильтрация, встроенная поисковая система, поддержка RSS-каналов и современный интерфейс на базе Qt сделали его особенно популярным.
Как отметил в своем блоге исследователь безопасности Sharp Security, команда исправила заметный недостаток, не проинформировав об этом пользователей должным образом и не присвоив проблеме CVE.
Одна проблема, несколько рисков
Основная проблема заключается в том, что с 2010 года qBittorrent принимал любые сертификаты, в том числе поддельные/нелегитимные, что позволяло злоумышленникам, занимающим позицию «человек посередине», изменять сетевой трафик.
В qBittorrent класс DownloadManager игнорировал все ошибки проверки SSL-сертификатов, которые когда-либо происходили, на всех платформах, в течение 14 лет и 6 месяцев, начиная с 6 апреля 2010 года с коммита 9824d86. Поведение по умолчанию изменилось на проверку 12 октября 2024 года с коммитом 3d9e971. Первым исправлением стала версия 5.0.1
- объясняет исследователь безопасности
SSL-сертификаты помогают пользователям безопасно подключаться к легитимным серверам, проверяя подлинность сертификата сервера и доверие к нему со стороны центра сертификации (Certificate Authority, CA).
Если эта проверка пропущена, любой сервер, выдающий себя за легитимный, может перехватывать, изменять или вставлять данные в поток данных, а qBittorrent будет доверять этим данным.
Sharp Security выделяет четыре основных риска, возникающих в связи с этой проблемой:
- Когда Python недоступен в Windows, qBittorrent предлагает пользователю установить его через жестко зуказанный URL в коде, указывающий на исполняемый файл Python. Из-за отсутствия проверки сертификатов злоумышленник, перехвативший запрос, может заменить ответ URL на вредоносный установщик Python, который может выполнить RCE.
- qBittorrent проверяет наличие обновлений, получая XML-ленту по жестко заданному URL-адресу, затем анализирует ленту на предмет ссылки на скачивание новой версии. При отсутствии SSL-проверки злоумышленник может подставить в фид вредоносную ссылку на обновление, побуждая пользователя загрузить вредоносную полезную нагрузку.
- DownloadManager qBittorrent также используется для RSS-каналов, что позволяет злоумышленникам перехватывать и изменять содержимое RSS-каналов и внедрять вредоносные URL-адреса, выдавая их за безопасные торрент-ссылки.
- qBittorrent автоматически загружает сжатую базу данных GeoIP с жестко заданного URL и распаковывает ее, что позволяет эксплуатировать потенциальные ошибки переполнения памяти через файлы, полученные с поддельного сервера.
В последней версии qBittorrent, 5.0.1, устранены вышеуказанные риски, поэтому пользователям рекомендуется как можно скорее обновиться.
Комментарии (0)