=============================================
INTERNET SECURITY AUDITORS ALERT 2009-012
Horde 3.3.5 "PHP_SELF" Cross-Site Scripting vulnerability
The Horde Application Framework is a modular, general-purpose web
application framework written in PHP. It provides an extensive array
of classes that are targeted at the common problems and tasks involved
in developing modern web applications.
Input passed to 'PHP_SELF' variable is not properly filtered before
being returned to the user. This can be explotied to inject arbitrary
HTML or to execute arbitrary script code in a user's browser session
in context of an affected site. In order to successfully exploit this
vulnerability the targeted user has to be logged as an administrator.
horde-3.3.5/admin/cmdshell.php:46:<form action="<?php echo
$_SERVER['PHP_SELF'] ?>" method="post">
horde-3.3.5/admin/sqlshell.php:29:<form name="sqlshell" action="<?php
echo $_SERVER['PHP_SELF'] ?>" method="post">
horde-3.3.5/admin/phpshell.php:42:<form action="<?php echo
$_SERVER['PHP_SELF'] ?>" method="post">
In order to filter the "PHP_SELF" variable, the htmlspecialchars
function has to be used, like in
'horde-3.3.5/templates/shares/edit.inc' file:
horde-3.3.5/templates/shares/edit.inc:1:<form name="edit"
method="post" action="<?php echo
htmlspecialchars($_SERVER['PHP_SELF']) ?>">
This PoC will show an alert with the text "xss"
http://site/horde-3.3.5/admin/phpshell.php/%22%3E%3Cscript%3Ealert%288%29;%3C/script%3E%3Cform%20/?Horde=<sessid>
http://site/horde-3.3.5/admin/cmdshell.php/%22%3E%3Cscript%3Ealert%288%29;%3C/script%3E%3Cform%20/?Horde=<sessid>
http://site/horde-3.3.5/admin/sqlshell.php/%22%3E%3Cscript%3Ealert%288%29;%3C/script%3E%3Cform%20/?Horde=<sessid>
Is possible to execute arbitrary HTML or script code in a targeted
user's browser. Only works with administration sessions.
Horde 3.3.5 is vulnerable, others may be affected.
Upgrade to version 3.3.6
http://www.horde.org
http://lists.horde.org/archives/announce/2009/000529.html
http://www.isecauditors.com
This vulnerability has been discovered by
Juan Galiana Lara (jgaliana (at) isecauditors (dot) com).
October 13, 2009: Initial release
October 19, 2009: Added CVE id.
December 13, 2009: Revision.
December 16, 2009: Las revision.
October 13, 2009: Vulnerability discovered by
Internet Security Auditors.
October 13, 2009: Sent to developers.
The issue is considered hard to exploit and
solution is delayed.
December 13, 2009: Second contact for correction plan.
December 15, 2009: New release published.
December 16, 2009: Sent to public lists.
The information contained within this advisory is supplied "as-is"
with no warranties or guarantees of fitness of use or otherwise.
Internet Security Auditors accepts no responsibility for any damage
caused by the use or misuse of this information.