-------------------------------------------------------------- Dotclear <= 2.6.2 (categories.php) SQL Injection Vulnerability -------------------------------------------------------------- [-] Software Link: http://dotclear.org/ [-] Affected Versions: Version 2.6.2 and probably prior versions. [-] Vulnerability Description: The vulnerable code is located in /admin/categories.php: 70. # Update order 71. if (!empty($_POST['save_order']) && !empty($_POST['categories_order'])) { 72. $categories = json_decode($_POST['categories_order']); 73. 74. foreach ($categories as $category) { 75. if (!empty($category->item_id)) { 76. $core->blog->updCategoryPosition($category->item_id, $category->left, $category->right); 77. } 78. } 79. 80. dcPage::addSuccessNotice(__('Categories have been successfully reordered.')); 81. http::redirect('categories.php'); 82. } User input passed through the $_POST['categories_order'] parameter is not properly sanitized before being used in a call to the dcBlog::updCategoryPosition() method at line 76. This could be exploited to conduct SQL injection attacks leveraging the UPDATE statement defined in the nestedTree::updatePosition() method. Successful exploitation of this vulnerability requires an account with the “manage categories” permission. [-] 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-3783 to this vulnerability. [-] Credits: Vulnerability discovered by Egidio Romano. [-] Original Advisory: http://karmainsecurity.com/KIS-2014-07