Syhunt: HFS (HTTP File Server) Log Arbitrary File/Directory
Manipulation and Denial-of-Service Vulnerabilities
Advisory-ID: 200801162
Discovery Date: 1.16.2008
Release Date: 1.23.2008
Affected Applications: HFS 2.2 to and including 2.3(Beta Build
#174)
Non-Affected Applications: HFS 2.1d and earlier versions
Class: Arbitrary File/Directory Manipulation, Denial of Service
Status: Patch available/Vendor informed
Vendor: Massimo Melina
Vendor URL: http://www.rejetto.com/hfs -or- hfs.sourceforge.net
The Common Vulnerabilities and Exposures (CVE) project has
assigned the following CVEs to these vulnerabilities:
* CVE-2008-0405 - Arbitrary File/Folder Creation Vulnerability
* CVE-2008-0406 - Denial of Service (DoS) Vulnerability
----------------------------------------------------------------
Overview:
HFS is a very popular open source HTTP server designed for
easily sharing files. According to information on the official
website, the HTTP File Server software has been downloaded about
2 million times.
Description:
HFS (versions 2.2 to 2.3 beta) will not check if an account name
provided during navigation exists or contains any invalid chars
before logging information about a request. This is specially
dangerous if the server has been configured to use account names
as log filenames.
In this case, a remote attacker can use this flaw to create
arbitrary files, append data to arbitrary files, create
arbitrary folders or launch a DoS attack against the server.
Technical details are included below.
----------------------------------------------------------------
Details (Replicating the issues):
1) Arbitrary File/Directory Manipulation Vulnerability
http://www.syhunt.com/advisories/hfshack.txt
See the "mkd" and "manipf" commands
Example 1 - Arbitrary Directory Creation:
If HFS is running (for e.g.) in the C:\HFS directory, you can
create the C:\Syhunt\ directory by entering:
mkd ..\Syhunt
Example 2 - Arbitrary File Creation/Manipulation:
manipf [localfilename] [remotefilename]
manipf inject.html ..\Syhunt\index.html
This example would create the file "C:\Syhunt\index.html" and
append the content of the file "inject.html" to it.
2) Denial of Service (DoS) Vulnerability
http://www.syhunt.com/advisories/hfshack.txt
"checkdos" command
* HFS will close immediately after receiving the DoS request
* This issue is related to Windows limitations with long
filenames. XP has a limit of 255 characters; Windows Vista a 260
chars limit.
----------------------------------------------------------------
Vulnerability Status:
The vendor was contacted and has immediately released HFS 2.2c
which fixes these problems. The new version can be downloaded at
www.rejetto.com/hfs/download or via the "Check for news/updates"
option in the HFS menu.
As a workaround for the affected releases, users can temporarily
disable the logging feature or remove the %user% symbol from the
log filename.
Testers of HFS 2.3 Beta should upgrade to the latest 2.3 beta
build.
HFS 2.3 Beta specifically is only affected if the option
"Accept any login for unprotected resources" is enabled. This
option, introduced in this version, is disabled by default.
----------------------------------------------------------------
Credit:
Felipe Aragon and Alec Storm
Syhunt Security Research Team, www.syhunt.com
---
Copyright ? 2008 Syhunt Security
Disclaimer:
The information in this advisory is provided "as is" without
warranty of any kind. Details provided are strictly for
educational and defensive purposes.
Syhunt is not liable for any damages caused by direct or
indirect use of the information provided by this advisory.