


Perceptive Security
SOC/SIEM Consultancy

Cacti's sanitize_sql_column() (lib/functions.php) sanitizes user-supplied ORDER BY column names using the regex `preg_replace('/[^a-zA-Z0-9_().]/', '', $column)…
Published:
4 augustus 2026 om 22:00:00
Alert date:
5 augustus 2026 om 14:10:56
Source:
nvd.nist.gov
Web Technologies, Enterprise Applications, Database & Storage
A SQL injection vulnerability exists in Cacti's sanitize_sql_column() function in lib/functions.php. The function uses a regex allowlist that permits letters, digits, underscores, parentheses, and dots, which inadvertently allows SQL function calls like SLEEP(5) to pass through unmodified. The sanitized value is directly concatenated into raw SQL ORDER BY clauses, which cannot be parameterized. The vulnerability is triggered via the sort_column GET parameter in at least four PHP files: user_log.php, utilities.php, user_domains.php, and user_group_admin.php. Any authenticated Cacti user, regardless of privilege level, can exploit this flaw to perform time-based blind SQL injection against the Cacti database. This represents a significant risk as it requires only valid authentication and no elevated privileges to exploit.
Technical details
Mitigation steps:
Affected products:
Cacti
Related links:
https://nvd.nist.gov/vuln/detail/CVE-2026-71287
https://github.com/Cacti/cacti
https://github.com/Cacti/cacti/blob/develop/lib/functions.php
Related CVE's:
Related threat actors:
IOC's:
This article was created with the assistance of AI technology by Perceptive.
