<<< Date Index >>>     <<< Thread Index >>>

Blog Torrent preview 0.8 - arbitary file download



Intro
-----

  Blogtorrent is a collection of PHP scripts which are designed to 
 make it simple to host files for transfer via bittorrent.

  Whilst it is not normal to report security problems in "preview"
 releases of software this software was covered prominently upon 
 Slashdot and could be widely used, so I feel it's a legitimate
 target.



Problem
-------

  One of the scripts in the distribution doesn't correctly
 sanitize it's inputs, before using one of them to read 
 and serve a file from the local system.

  This can be exploited to remotely download any file upon the 
 webserver which is readable by the UID which the webserver is
 running as.

  The code in question is contained in btdownload.php and looks like
 this:

--
 echo file_get_contents('torrents/'.$_GET['file']);
--



Example
-------

  The following URL can be used to download a file:


   
htp://example.org/battletorrent/btdownload.php?type=torrent&file=../../etc/passwd

  (Adjust the ".."'s and the filename to suit your taste).


Fix
---

  Whilst no new release is planned to address this hole the
 authors did commit a simple fix to their CVS repository.

  This can be obtained from here:

  
http://cvs.sourceforge.net/viewcvs.py/battletorrent/btorrent_server/btdownload.php?r1=1.6&r2=1.7

  (The patch was committed less than a day after the hole was privately
 reported to them, making them a responsive bunch).

Steve
--
# The Debian Security Audit Project.
http://www.debian.org/security/audit

# Setuid Software Lists
http://www.setuid.org/