mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-03-02 22:57:32 -05:00
clicking "Search Engine" should not download/execute remote code #17028
Labels
No labels
Accessibility
AppImage
Bounty
Build system
CI
Can't reproduce
Code cleanup
Confirmed bug
Confirmed bug
Core
Crash
Data loss
Discussion
Docker
Documentation
Duplicate
Feature
Feature request
Feature request
Feature request
Filters
Flatpak
GUI
Has workaround
I2P
Invalid
Libtorrent
Look and feel
Meta
NSIS
Network
Not an issue
OS: *BSD
OS: Linux
OS: Windows
OS: macOS
PPA
Performance
Project management
Proxy/VPN
Qt bugs
Qt6 compat
RSS
Search engine
Security
Temp folder
Themes
Translations
Triggers
Waiting diagnosis
Waiting info
Waiting upstream
Waiting web implementation
Watched folders
WebAPI
WebUI
autoCloseOldIssue
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/qBittorrent#17028
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @philcerf on GitHub (Jul 17, 2025).
qBittorrent & operating system versions
qBittorrent: 5.1.0
Operating system: Debian unstable amd64
Qt: 6.8.2
libtorrent-rasterbar: 2.0.11
What is the problem?
Hey.
"Forwarded" from Debuan bug #1107894.
I've recently noted, that merely by clicking on "Search Engine" (without actually installing a search plugin) the following files get created:
The Debian binary package does not include these files (as package files), but the Debian source package does and it looks as if they might be compiled into the program executable as resource file.
Also, even when one's offline, these files get created which might indicate they're not downloaded from he web.
However, the Debian maintainer insists they are, and I found some code portions in
src/base/search/searchpluginmanager.cppfor which I'm not sure if they may actually do.Thus question: are these files ever downloaded/upgraded from remote (i.e. the web) or not?
Cause if so, it might also be considered a security risk (even if it's downloaded via HTTPs, certificates are rather easy to forge for a skilled attacker).
Thanks,
Philippe.
Steps to reproduce
~/.local/share/qBittorrent/nova3/qbittorrentSearch Engine, but don't actually install any search engine~/.local/share/qBittorrent/nova3/Additional context
No response
Log(s) & preferences file(s)
N/A
@vafada commented on GitHub (Jul 18, 2025):
are these files ever downloaded/upgraded from remote (i.e. the web) or not?I dont think so
I believe, those files are bundled in the binary. and you are correct,
src/base/search/searchpluginmanager.cppjust extracts them, see:github.com/qbittorrent/qBittorrent@7c443b0c3b/src/base/search/searchpluginmanager.cpp (L525-L543)this is the bundle file:
github.com/qbittorrent/qBittorrent@7c443b0c3b/src/searchengine/searchengine.qrcand the source code for each python file:
github.com/qbittorrent/qBittorrent@7c443b0c3b/src/searchengine/nova3@philcerf commented on GitHub (Jul 19, 2025):
Well I am a bit confused by that:
github.com/qbittorrent/qBittorrent@7c443b0c3b/src/base/search/searchpluginmanager.cpp (L89-L104)which gives an online location
https://searchplugins.qbittorrent.org/nova3/engines/seems to do some (network) connections before if callsupdateNova.Anyway... thanks for your reply :-)
@vafada commented on GitHub (Jul 19, 2025):
that
connectis not a network "connection".. thatQt's signal-slot mechanismhttps://doc.qt.io/qt-6/signalsandslots.html
the app does a network connection to
https://searchplugins.qbittorrent.org/nova3/engines/but that requires user intervention
check for updatesin thesearch pluginsmodal:https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/versions.txt
https://github.com/qbittorrent/search-plugins/tree/master/nova3/engines
see the source code for the usage of
m_updateUrl@philcerf commented on GitHub (Jul 20, 2025):
Well I guess than it's indeed safe as it is and this issue can be closed.
What might perhaps be added is something like a popup, when people are actually about to download/install plugins from remote.
Thanks :-)