ImpressCMS versions 1.4.3 and below suffer from a remote SQL injection vulnerability.
87f67399dc57cf0886d71c379f9cc8b8
---------------------------------------------------------------
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