[<prev] [next>] [day] [month] [year] [list]
Message-ID: <4F9051AB.6050007@sploit.de>
Date: Thu, 19 Apr 2012 19:55:55 +0200
From: luks <luks@...oit.de>
To: full-disclosure@...ts.grok.org.uk
Subject: Weak password reset token & code exec in ownCloud
3.0.0
= weak password reset token =
The way how ownCloud generates password reset tokens is highly insecure and
can be used to overtake arbitrary accounts by solely knowing the
corresponding
username.
file: core/lostpassword/index.php
15 $token = sha1($_POST['user']+uniqId());
due to the usage of the + operator, both operands (strings) are
interpreted as
numerical values
(http://php.net/manual/en/language.types.type-juggling.php).
uniqId() is a simple timestamp in its hex representation. this
timestamps starts
with "4f" until 2012-7-13 and is therefore evaluated as a 4
(http://xkcd.com/221/).
this allows an attacker to trivially predict the generated token and
reset the
password.
= code exec =
user uploaded files are stored in the /data/<user>/files directory of the
ownCloud webroot. /data is secured by a .htaccess file ("deny from all")
but users can overwrite this setting by uploading a new .htaccess to their
files directory (e.g. "allow from all").
by uploading a php script and circumventing the .htaccess restriction users
are able to execute code by requesting the uploaded script via the
following url:
http://<host>/owncloud/data/<user>/files/<script>
(uploading of a .htaccess file is obviously only needed on webservers
which support them in the first place).
= Disclosure Timeline =
2012-04-03: contacted the ownCloud team
2012-04-04: fixes
http://gitorious.org/owncloud/owncloud/commit/85f9869f6925ef52c1015916bbc28e13c15abc73
http://gitorious.org/owncloud/owncloud/commit/acdce2b1e01f7c0a77b7e7949540e1b0ba94efd1
2012-04-19: Disclosure
You can find a metasploit module attached to this email which exploits
these two
vulnerabilities to achieve code execution.
Download attachment "owncloud.rb" of type "application/x-ruby" (4836 bytes)
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/
Powered by blists - more mailing lists