Lucene search

K
packetstormJustin C. Klein KeanePACKETSTORM:115085
HistoryJul 28, 2012 - 12:00 a.m.

Transmission BitTorrent Cross Site Scripting

2012-07-2800:00:00
Justin C. Klein Keane
packetstormsecurity.com
28

EPSS

0.004

Percentile

74.0%

`-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1  
  
Vulnerability Report  
  
Author: Justin C. Klein Keane <[email protected]>  
Reported: July 19, 2012  
  
CVE-2012-4037  
  
Description of Vulnerability:  
- -----------------------------  
Transmission (http://www.transmissionbt.com) is a popular, cross  
platform, open source BitTorrent client. Transmission includes  
functionality to enable a web based display of the application.  
Unfortunately this web based client doesn't sanitize text from  
.torrent files that are loaded into the client resulting in an  
arbitrary script injection (or cross site scripting (XSS)) vulnerability.  
  
Impact  
- ------  
Clients loading a maliciously crafted .torrent file into Transmission  
and viewing the web client could be subject to arbitrary script  
injection, allowing an attacker to run arbitrary code in the context  
of the victim's web browser. This could lead to privacy compromises  
(such as if the script "phoned home" to another URL with client  
information) or client side attacks (such as drive by downloads).  
  
Systems affected:  
- -----------------  
Transmission 2.50 on Fedora 17 was tested and shown to be vulnerable,  
but Transmission is a cross platform tool so it is possible versions  
for other operating systems (such as Mac, Windows, and other Linux)  
are vulnerable as well.  
  
Mitigating factors:  
- -------------------  
The information displayed via the Transmission web client is loaded  
via AJAX calls and is entirely event driven. This means malicious  
scripts must be crafted to exploit the way in which content is  
dynamically rendered. This presents some barrier, but is easy  
bypassed by injecting event driven elements in the display. Malicious  
script elements in the torrent name are easily visible via the desktop  
client, but malicious elements in the 'created by' or 'comments'  
elements are more difficult for end users to detect.  
  
  
Proof of Concept Exploit:  
- -------------------------  
1. Create a malicious torrent file (Example below) that includes  
arbitrary script elements in the name, comment, or authored by elements.  
2. Install and start up the Transmission client  
3. In Transmission select Edit->Preferences then click the 'Web' tab  
4. Check the 'Enable web client'  
5. Open a web browser and navigate to the web based client  
6. Click the 'Open Torrent' icon in the upper left and select the  
malicious file from step #1  
7. Highlight the torrent and click the 'Toggle Inspector' icon in the  
upper left.  
8. Mouse over the "Mouse over me" sections in the information pane to  
view the rendered JavaScript alert boxes.  
  
Vendor Response:  
- -----------------  
Upgrade to Transmission 2.61 or later.  
  
Sample Malicious Torrent:  
- -------------------------  
d8:announce24:http://www.madirish.net/7:comment63:<div  
onmouseover="javascript:alert('xss');">Mouse over me</div>10:created  
by63:<div onmouseover="javascript:alert('xss');">Mouse over  
me</div>13:creation  
datei1342553922e8:encoding5:UTF-84:infod6:lengthi323584e4:name44:appsec.ppt<script>alert('namexss');</script>12:piece  
lengthi32768e6:pieces200:°åeì<îÃú[Ò?9jØ<„LuŒ*B≈ÍôÒ±ıîwÑ  
√b]Ú‘öÊS°ÜÕÁä0ïe ©Ö:Řƒúß«  
v¬G6ê˜bfi†#PØ;É~JÔ~áÙ±=AÎ≤—ï–˝~öÛ€9ï’PH°k#ÿ0y‘EèÊS*/æfM;˝5√ıuÅ?¡‡ë?ySgË>ıQËz4ï<ŒÿµufÕàâ~˘Îs¬Sb◊¿DA·8}¥0∂∂-_Ä[ã≠H}*õf  
Èj7:privatei0eee  
  
- --   
Justin C. Klein Keane  
http://www.MadIrish.net  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG/MacGPG2 v2.0.18 (Darwin)  
Comment: GPGTools - http://gpgtools.org  
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/  
  
iPwEAQECAAYFAlARYfYACgkQkSlsbLsN1gCiAgb/R8B1p7HDEPEBzRiwz2GcwIa9  
1diPHnlKTzhRTcY9GgFNfsdDL6NYO4J19tlxxzZIfjSCOI/WUM1rZhsFmJwlMA4E  
eW07cmc/kmHn5a+3a3/pBd2lhR7kfQkzN4U5/FUCsmlF03B4lZjfreoqFuarID1z  
dSi/LMU9XJTVfyEIWU9kZiSGE1oeEpdMmLGAWgZ1dCPXhbWE4UK0zF25/Y0YEjl9  
6ZRcPX2PCE863XVcUzGrdkodqcN2VJqnzEwpVCc8yP1qwOjLSppX2vM7puMHpoUq  
mJFLmCdOqrf2oWugB8Y=  
=M+gZ  
-----END PGP SIGNATURE-----  
  
  
`