Opened 3 years ago

Last modified 3 years ago

#3460 new bug

XSS via malicious .torrent file

Reported by: Jasper Lievisse Adriaanse Owned by:
Priority: major Milestone: needs verified
Component: Web UI Version: develop
Keywords: Cc:

Description

The Deluge web ui is vulnerable to XSS through a crafted torrent file.

As the data from torrent files is not properly sanitised it's interpreted directly as HTML. As such someone who supplies the user with a malicious torrent can execute arbitrary Javascript code in the context of the user's browser session. It should be noted that the Tornado webserver is not configured to send any Content-Security-Policy headers which can help to mitigate some of the impact. Due to this omission, the attacker can download/upload arbitrary data from/to remote endpoints.

It should be noted there is some basic filtering such that a <script> doesn't work, but this can be trivially bypassed by using a construct such as <img src="#" onerror= or just a hidden, remote iframe which loads the Javascript payload (see the PoC script for an example).

This script creates a PoC torrent to demonstrate the vulnerability: https://gist.github.com/jasperla/4e6e06034e1cc4131f62839b46b697ef the attached screenshot is taken after uploading a .torrent file generated by that script.

Additionally there are several HTML injection bugs, for example in the Connection Manager, but these are merely bugs as the local user injects the payload as opposed to a remote attacker who uploads a malicious torrent to a public search engine.

Attachments (1)

deluge xss.png (83.1 KB ) - added by Jasper Lievisse Adriaanse 3 years ago.

Download all attachments as: .zip

Change History (2)

by Jasper Lievisse Adriaanse, 3 years ago

Attachment: deluge xss.png added

comment:1 by Jasper Lievisse Adriaanse, 3 years ago

Please close this ticket, it's a duplicate of #3459.

Note: See TracTickets for help on using tickets.