Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:19349
HistoryMar 06, 2008 - 12:00 a.m.

[DSECRG-08-018] Ruby 1.8.6 (Webrick Httpd 1.3.1) Directory traversal file Download Vulnerability

2008-03-0600:00:00
vulners.com
27

Digital Security Research Group [DSecRG] Advisory #DSECRG-08-018

Application: Ruby 1.8.6 (WEBrick Web server Toolkit and applications that used
WEBrick, like Metasploit 3.1)
Versions Affected: Ruby
1.8.4 and all prior versions
1.8.5-p114 and all prior versions
1.8.6-p113 and all prior versions
1.9.0-1 and all prior version

Vendor URL: http://www.ruby-lang.org/
Bugs: Directory traversal File Download
Exploits: YES
Reported: 20.02.2008
Vendor response: 22.02.2008
Solution: 03.03.2008
Date of Public Advisory: 06.03.2008
Authors: Alexandr Polyakov, Stas Svistunovich
Digital Security Research Group [DSecRG] (research [at] dsec [dot]
ru)

Description


WEBrick Httpd server has directory traversal security vulnerability.

WEBrick is an HTTP server library written in Ruby that uses servlets to extend its capabilities.
Built into WEBrick are four servlets, handling CGI, ERb, file directories, and a generic Proc
servlet.
Ruby on Rails uses WEBrick as a quick and easy webserver to start developing your Rails
applications.
However, for whatever ease of development WEBrick adds to your application, it is generally
considered not suitable for any production environment.

Details


The following programs are vulnerable.

Programs that publish files using WEBrick::HTTPServer.new with the :DocumentRoot option
Programs that publish files using WEBrick::HTTPServlet::FileHandler

Affected systems are:

  1. Systems that accept backslash (\) as a path separator, such as Windows.
  2. Systems that use case insensitive filesystems such as NTFS on Windows, HFS on Mac OS X.

This vulnerability has the following impacts.

  1. Attacker can access private files by sending a url with url encoded backslash (\). This exploit
    works only on systems that accept backslash as a path separator.

Example:

http://[server]:[port]/…%5c…%5c…%5c…%5c…%5c…%5c…%5c…%5c…%5c…%5c/boot.ini

  1. Attacker can access files that matches to the patterns specified by the :NondisclosureName
    option (the default value is [".ht*", "*~"]). This exploit works only on systems that use case
    insensitive filesystems.

Additional info


WEBrick is used to build own HTTP servers and used in many applications such as Metasploit 3.1
and Karma Tools

Fix Information


fixed on 03.03.2008.

http://www.ruby-lang.org/en/news/2008/03/03/webrick-file-access-vulnerability/

Patches can be downloaded here:

1.8 series
Please upgrade to 1.8.5-p115 or 1.8.6-p114.
<URL:ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.5-p115.tar.gz&gt; (md5sum:
20ca6cc87eb077296806412feaac0356)
<URL:ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p114.tar.gz&gt; (md5sum:
500a9f11613d6c8ab6dcf12bec1b3ed3)
1.9 series
Please apply the following patch to lib/webrick/httpservlet/filehandler.rb.
<URL:ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-1-webrick-vulnerability-fix.diff&gt; (md5sum:
b7b58aed40fa1609a67f53cfd3a13257)

About


Digital Security is leading IT security company in Russia, providing information security
consulting, audit and

penetration testing services, risk analysis and ISMS-related services and certification for ISO/IEC
27001:2005 and PCI

DSS standards. Digital Security Research Group focuses on web application and database security
problems with

vulnerability reports, advisories and whitepapers posted regularly on our website.

Contact: research [at] dsec [dot] ru
http://www.dsec.ru (in Russian)

Digital Security Research Group mailto:[email protected]