Foundry Networks ServerIron don't decode URIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Date   : 13/03/2002 .
By     : Frank DENIS <j@42-networks.com>
Vendor : Foundry Networks (http://www.foundrynet.com) .
Product: ServerIron web switches.
Summary: Vulnerability in URI parsing code allows to bypass rules.


         ------------------- DESCRIPTION -------------------

  Foundry Networks' ServerIron Family of Internet traffic and content
management switches provide high performance Layer 2 through 7 switching,
enabling network managers to control and manage today's exploding web
transaction, web application and eCommerce traffic flows.
            
  A key feature of ServerIron switches is that HTTP requests can be balanced
by server groups according to rules. A common configuration is to have a
group of servers for static content, and other groups of servers for
dynamic pages.

  That feature is enabled with the "url-map" keyword in ServerIron switching
rules. Several methods are available to select the server group according to
the request, especially the "pattern" method that simply matches incoming
URIs against patterns.

  In the following configuration, PHP scripts handled by group #1, Perl
scripts by group #2, and static pages by server group #3 :

url-map "p1"
method pattern
default 3
match .php 1
match .pl 2

            ------------------- VULNERABILITY -------------------

  Unlike web servers, ServerIron switches don't decode URIs, and patterns are
matched against raw URIs.

  For a web server, the following requests are equivalents and match the
same file :
  
http://web.serv.er/index.pl

http://web.serv.er/index.%70%6c

  Unfortunately, for ServerIron switches, ".%70%6c" doesn't match ".pl" .
  
  The request will match the next rule and go to the wrong server group.
  
  In the previous configuration, the request will be processed by servers
dedicated to static content. The source code of PHP and Perl scripts may
be sent to the client instead of being processed by expected servers.

             ------------------- WORKAROUND -------------------
             
  Don't trust ServerIron pattern filtering. Duplicate the ServerIron
filtering rules to every web server, by denying everything by default and
allowing only expected patterns.
  
  Sample Apache configuration for a static content server :
  
  Order deny,allow
  Deny from all
  <Files ~ "\.(html|shtml|jpg|png)$">
    Order allow,deny
    Allow from all
  </Files>

           ------------------- VENDOR RESPONSE -------------------
               
  That issue was reported to Foundry Networks support on 12/02/2002 to
security@foundrynet.com (mail bounced) and support@foundrynet.com .
  First answer : do you have a valid support contract?
  Second answer, the day after : "This is not a supported feature on our
ServerIron. Please contact our Sales and submit a feature request".

  Thanks to another customer, I finally got a phone call from a nice Foundry
Networks technical manager on 19/02 . He acknowledged the bug, and said that
no URI decoding was indeed made in ServerIron products, regardless of the
firmware version.

  All my mails to Foundry Networks were unanswered since. I don't know
whether an official workaround or fix is on progress. It's not sure that the
URI decoding issue will ever be adressed. So the best way to go is probably
to tell sysadmins that they must check their web servers configurations, and
not rely only on ServerIron url-map filtering.


-- 
 __  /*-      Frank DENIS (Jedi/Sector One) <j@42-Networks.Com>     -*\  __
 \ '/    <a href="http://www.PureFTPd.Org/";> Secure FTP Server </a>    \' /
  \/  <a href="http://www.Jedi.Claranet.Fr/";> Misc. free software </a>  \/

[Index of Archives]     [Linux Security]     [Netfilter]     [PHP]     [Yosemite News]     [Linux Kernel]

  Powered by Linux