-------------------------------------------------------------------------
Dotclear <= 2.6.2 (XML-RPC Interface) Authentication Bypass Vulnerability
-------------------------------------------------------------------------
[-] Software Link:
http://dotclear.org/
[-] Affected Versions:
Version 2.6.2 and probably prior versions.
[-] Vulnerability Description:
The vulnerable code is located in the dcXmlRpc::setUser() method
(inc/core/class.dc.xmlrpc.php):
262. /* Internal methods
263. --------------------------------------------------- */
264. private function setUser($user_id,$pwd)
265. {
266. if ($this->core->auth->userID() == $user_id) {
267. return true;
268. }
269.
270. if ($this->core->auth->checkUser($user_id,$pwd) !== true) {
271. throw new Exception('Login error');
272. }
273.
274. return true;
The vulnerability exists because of the method not properly verifying
the provided password
before being used in a call to the dcAuth::checkUser() method at line
270. This could be exploited
to bypass the authentication mechanism by sending an XML-RPC request
with a valid username and an
empty password. Successful exploitation of this vulnerability requires
the XML-RPC interface to
be enabled (disabled by default).
[-] Solution:
Update to version 2.6.3.
[-] Disclosure Timeline:
[14/05/2014] - Vendor notified
[15/05/2014] - Vendor response
[16/05/2014] - Version 2.6.3 released:
http://dotclear.org/blog/post/2014/05/16/Dotclear-2.6.3
[16/05/2014] - CVE number requested
[19/05/2014] - CVE number assigned
[21/05/2014] - Public disclosure
[-] CVE Reference:
The Common Vulnerabilities and Exposures project (cve.mitre.org)
has assigned the name CVE-2014-3781 to this vulnerability.
[-] Credits:
Vulnerability discovered by Egidio Romano.
[-] Original Advisory:
http://karmainsecurity.com/KIS-2014-05