qBittorrent

qBittorrentは、アプリ全体のダウンロードを管理するコンポーネントであるDownloadManagerにおいて、SSL/TLS証明書の検証の失敗によって引き起こされるリモートコード実行の欠陥に対処した。

2010年4月6日のコミットで導入されたこの欠陥は、最終的に14年以上経った2024年10月28日の最新リリースであるバージョン5.0.1で修正されました。

qBittorrentは、BitTorrentプロトコルでファイルをダウンロードおよび共有するための無料のオープンソースクライアントです。クロスプラットフォームであること、IPフィルタリング、統合検索エンジン、RSSフィードのサポート、Qtベースのモダンなインターフェースなどにより、特に人気が高い。

しかし、セキュリティ研究者であるSharp Securityがブログ投稿で強調したように、チームはユーザーに十分な告知をすることなく、また問題にCVEを割り当てることなく、重大な欠陥を修正した。

つの問題、複数のリスク

核心的な問題は、2010年以降、qBittorrentが偽造/非正規を含むあらゆる証明書を受け入れ、中間者的立場の攻撃者がネットワーク・トラフィックを変更することを可能にしていたことだ。

「qBittorrentでは、DownloadManagerクラスは、2010年4月6日のコミット9824d86以来、14年と6ヶ月の間、あらゆるプラットフォーム上で、これまでに発生したあらゆるSSL証明書の検証エラーを無視してきた。

「デフォルトの動作は、コミット3d9e971で2024年10月12日に検証するように変更されました。パッチが適用された最初のリリースは、2日前にリリースされたバージョン5.0.1である。

SSL証明書は、サーバーの証明書が認証局(CA)によって信頼された本物であることを検証することで、ユーザーが正規のサーバーに安全に接続できるようにするものだ。

この検証がスキップされると、正規のサーバーを装う任意のサーバーがデータ ストリーム内のデータを傍受、変更、または挿入できるようになり、qBittorrent はこのデータを信頼することになります。

Sharp Securityは、この問題から生じる4つの主なリスクを強調している:

  1. Windows上でPythonが利用できない場合、qBittorrentはPython実行ファイルを指すハードコードされたURL経由でインストールするようユーザーに促します。証明書の検証がないため、リクエストを傍受した攻撃者は、URL の応答を RCE を実行できる悪意のある Python インストーラーに置き換えることができます。
  2. qBittorrent は、ハードコードされた URL から XML フィードを取得し、そのフィードを解析して新しいバージョンのダウンロードリンクを取得します。SSL 検証がないため、攻撃者はフィードに悪意のある更新リンクを代入し、ユーザーに悪意のあるペイロードをダウンロードさせることができます。
  3. qBittorrent の DownloadManager は RSS フィードにも使用されるため、攻撃者は RSS フィードのコンテンツを傍受して変更し、安全なトレント リンクを装って悪意のある URL を挿入することができます。
  4. qBittorrent は、ハードコードされた URL から圧縮された GeoIP データベースを自動的にダウンロードし、それを解凍するため、偽装されたサーバーから取得されたファイルを介して潜在的なメモリ オーバーフロー バグを悪用することができます。
Launching Calculator from qBittorrent as demonstration
デモとしてqBittorrentから電卓を起動
ソースはこちら:シャープセキュリティ

研究者は、MitM攻撃は可能性が低いと見られがちだが、監視の厳しい地域ではより一般的になる可能性があるとコメントしている。

qBittorrentの最新バージョンである5.0.1では、上記のリスクに対処しているので、ユーザーはできるだけ早くアップグレードすることが推奨される。