lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2f7333d4-0a48-5d00-54ba-5ceb17ec2827@karmainsecurity.com>
Date: Tue, 22 Mar 2022 13:03:54 +0100
From: Egidio Romano <research@...mainsecurity.com>
To: fulldisclosure@...lists.org, submissions@...ketstormsecurity.com
Subject: [FD] [KIS-2022-04] ImpressCMS <= 1.4.3 (findusers.php) SQL
 Injection Vulnerability

---------------------------------------------------------------
ImpressCMS <= 1.4.3 (findusers.php) SQL Injection Vulnerability
---------------------------------------------------------------


[-] Software Link:

https://www.impresscms.org


[-] Affected Versions:

Version 1.4.3 and prior versions.


[-] Vulnerability Description:

The vulnerability is located in the /include/findusers.php script:

281.            $total = 
$user_handler->getUserCountByGroupLink(@$_POST["groups"], $criteria);
282.
283.            $validsort = array("uname", "email", "last_login", 
"user_regdate", "posts");
284.            $sort = (!in_array($_POST['user_sort'], $validsort)) ? 
"uname" : $_POST['user_sort'];
285.            $order = "ASC";
286.            if (isset($_POST['user_order']) && $_POST['user_order'] 
== "DESC") {
287.                $order = "DESC";
288.            }
289.
290.            $criteria->setSort($sort);
291.            $criteria->setOrder($order);
292.            $criteria->setLimit($limit);
293.            $criteria->setStart($start);
294.            $foundusers = 
$user_handler->getUsersByGroupLink(@$_POST["groups"], $criteria, TRUE);

User input passed through the "groups" POST parameter is not properly 
sanitized before being passed to the 
icms_member_Handler::getUserCountByGroupLink() and 
icms_member_Handler::getUsersByGroupLink() methods at lines 281 and 294. 
These methods use the first argument to construct a SQL query without 
proper validation, and this can be exploited by remote attackers to e.g. 
read sensitive data from the "users" database table through 
boolean-based SQL Injection attacks. The application allows for stacked 
SQL queries, as such this vulnerability could be exploited to e.g. 
create a new admin user and execute arbitrary PHP code.


[-] Solution:

Upgrade to version 1.4.4 or later.


[-] Disclosure Timeline:

[19/01/2021] - Vendor notified through HackerOne
[29/01/2021] - Vulnerability acknowledged by the vendor
[03/02/2021] - CVE number assigned
[06/02/2022] - Version 1.4.3 released, vulnerability not correctly fixed
[11/02/2022] - Vendor was informed about the ineffective fix
[09/03/2022] - Version 1.4.4 released
[22/03/2022] - Public disclosure


[-] CVE Reference:

The Common Vulnerabilities and Exposures project (cve.mitre.org)
has assigned the name CVE-2021-26599 to this vulnerability.


[-] Credits:

Vulnerability discovered by Egidio Romano.


[-] Other References:

https://hackerone.com/reports/1081145


[-] Original Advisory:

http://karmainsecurity.com/KIS-2022-04



_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ