Date: Thu, 2 Oct 2003 20:08:36 +0200
From: Maarten Hartsuijker <secfocus@hartsuijker.com.>
To: [email protected]Subject: exploiting fortigate firewall through webinterface
Issue: Several vulnerabilities in web interface of Fortigate firewall of
which the most serious one will allow a remote attacker to obtain a username
and password of the Fortigate.
Release: pre 2.50 maintenance release 4
Fixed in: Fortinet OS 2.50 MR4, available from FTP as of 29 Sept. 2003
Date: 14/sept/2003
Vendor first notified: 14/sept/2003
During a review of the FortiGate firewall, I noticed several security flaws
in their webapplication. Combining two of the issues could allow a remote
attacker to obtain a username and password of the fortigate. FortiNet has
fixed one of the most serious flaws in the maintenance release 4, that is
available for customers on their FTP as off this week. Since the other
issues have not yet been fixed, I will not disclose these details at this
time.
Web filter log parses unfiltered session details:
After the web filter has been enabled, the administrator has the ability to
review the web filter logs via the web interface. The web filter logs
contain the URL that has been denied by the filter. Because of the fact that
unwanted characters are not stripped from the denied URL, a remote attacker
is able to gain the credentials of an administrator, as soon as the
administrator reviews the logs.
An example:
Pages with the keyword "mp3-download" are denied by the web filter. The page
<http://192.168.5.11/maarten.html> contains such a keyword. A remote
attacker could poison the log files by retrieving ''
http://192.168.5.11/maarten.html<script>alert(oops)</script>
When altering the script a bit, the user credentials could easily be
forwarded to the attacker, who could then use these credentials to alter the
firewall if the administrator has not properly secured access to
HTTPS/SSH/TELNET/HTTP.
Solution:
1. A basic rule in firewall administration is to only allow connections to
the firewall-administration-options from specific IP addresses (or
preferably, specific IP addresses connecting from a management network to
the management interface of the firewall). When this best practise is
applyed, an attacker that manages to gain administration credentials as
described above, will not be able to abuse them too easily.
2. Manage your firewall from a dedicated workstation that has no connections
(directly OR through a proxy) to untrusted networks in order to avoid a
credential push as described above.
3. Upgrade FortiOS 2.50MR4, which (according to fortinet) does not contain
this problem.
The first two solutions will also prevent abusal by the issues that have not
yet been disclosed.