-
-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebUI Security: Session still valid after reset password but before restart qBittorrent #18443
Comments
thalieht
added
Security
Related to software vulnerability in qbt (don't overuse this)
WebUI
WebUI-related issues/changes
labels
Jan 23, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
qBittorrent & operating system versions
qBittorrent v4.5.0 Web UI (64-bit)
Qt: 6.4.1
Libtorrent: 1.2.18.0
Boost: 1.80.0
OpenSSL: 3.0.7
zlib: 1.2.12.zlib-ng
What is the problem?
qBittorrent does not log off existing sessions when users change their WebUI password (or username), or uncheck the bypass local auth checkbox.
This can be a security risk, as when an attacker logs into the WebUI once, they only need to find a way to keep the operation active, and qBittorrent will extend the session validity for that session.
Even when the user changes the user and password, these sessions are not logged out unless the user restarts qBittorrent.
For Windows hosts, this does not seem to be a problem. But for qBittorrent running on a NAS or Linux server, these devices don't reboot very often, and these users do their best to avoid rebooting qBittorrent to avoid enjoying a slow file checksum.
Also, sessions are not bound to IP addresses.
This means that if the SID is leaked, it can be exploited by an attacker in another location.
Steps to reproduce
Bypass authentication for clients on localhost
andBypass authentication for clients in whitelisted IP subnets
to avoid affecting the experimental results.Save
to apply password and setting changes.SID
value by pressF12
,Application -> Cookie -> <YOUR_HOST>
Login
page, pressF12
,Console
, and execute javascript:Enter
to write cookie value, then re-fresh login page, now you're able continue session in a different machine for full control.Additional context
This report was translated using DeepL, my English is not good, if you have any questions please reply below and I will add them.
Log(s) & preferences file(s)
qBittorrent.conf -> https://paste.gg/p/anonymous/bd4bf3315c8340db8e7ab819ef2a8f90
qBittorrent.log (cutted) -> https://paste.gg/p/anonymous/1cc427f3156f43ffb9c7edfd350b8ce2
NOTE: There is nothing useful in logs, but you can see that there are no multiple times of login.
The text was updated successfully, but these errors were encountered: