Weak password reset token & code exec in ownCloud 3.0.0

Bug #996185 reported by Alexey
260
This bug affects 1 person
Affects Status Importance Assigned to Milestone
owncloud (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

http://seclists.org/fulldisclosure/2012/Apr/223

= 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

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

Please update to version 3.0.3 http://owncloud.org/releases/owncloud-3.0.3.tar.bz2

Alexey (alexey.u.m)
summary: - eak password reset token & code exec in ownCloud 3.0.0
+ Weak password reset token & code exec in ownCloud 3.0.0
Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Thanks for taking the time to report this bug and helping to make Ubuntu better. Since the package referred to in this bug is in universe or multiverse, it is community maintained. If you are able, I suggest coordinating with upstream and posting a debdiff for this issue. When a debdiff is available, members of the security team will review it and publish the package. See the following link for more information: https://wiki.ubuntu.com/SecurityTeam/UpdateProcedures

visibility: private → public
Changed in owncloud (Ubuntu):
status: New → Confirmed
Revision history for this message
Paul van Tilburg (paulvt) wrote :

This was fixed in the recently uploaded version 4.0.1debian-2 of the package.

Changed in owncloud (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public Security information  
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.