Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-71287

Опубликовано: 05 авг. 2026
Источник: redhat
CVSS3: 8.8

Описание

Cacti's sanitize_sql_column (lib/functions.php) sanitizes user-supplied ORDER BY column names using the regex . Because this allowlist retains letters, digits, underscore, parentheses, and dot (intended to support expressions like COUNT(id) and table.column), a payload such as passes through completely unmodified.

A flaw was found in Cacti. An authenticated user, regardless of their privilege level, can exploit a vulnerability where user-supplied input for sorting database columns is not properly sanitized. This allows for the injection of malicious SQL commands, leading to time-based blind SQL injection. The primary consequence is the potential for unauthorized access to sensitive information stored in the Cacti database.

Отчет

This flaw is rated Important because any authenticated Cacti user, regardless of privilege level, can inject arbitrary SQL into the ORDER BY clause via the sort_column parameter (e.g. SLEEP(5)), since sanitize_sql_column()'s allowlist regex fails to strip parentheses. This allows blind, time-based extraction of the entire Cacti database (C:H) and can degrade availability through sustained query delays (A:H), with no user interaction and low attack complexity required. This component is shipped only in EPEL. Red Hat does not ship this component in any core Red Hat products.

Меры по смягчению последствий

Red Hat has investigated whether a possible mitigation exists for this issue, and has not been able to identify a practical example. Please update the affected package as soon as possible.

Дополнительная информация

Статус:

Important
Дефект:
CWE-89
https://bugzilla.redhat.com/show_bug.cgi?id=2511576cacti: Cacti: Blind SQL injection due to improper input sanitization

8.8 High

CVSS3

Связанные уязвимости

CVSS3: 8.8
ubuntu
26 дней назад

Cacti's sanitize_sql_column (lib/functions.php) sanitizes user-supplied ORDER BY column names using the regex . Because this allowlist retains letters, digits, underscore, parentheses, and dot (intended to support expressions like COUNT(id) and table.column), a payload such as passes through completely unmodified.

CVSS3: 8.8
nvd
26 дней назад

Cacti's sanitize_sql_column (lib/functions.php) sanitizes user-supplied ORDER BY column names using the regex . Because this allowlist retains letters, digits, underscore, parentheses, and dot (intended to support expressions like COUNT(id) and table.column), a payload such as passes through completely unmodified.

CVSS3: 8.8
debian
26 дней назад

Cacti's sanitize_sql_column (lib/functions.php) sanitizes user-supplie ...

CVSS3: 8.8
github
26 дней назад

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)`. Because this allowlist retains letters, digits, underscore, parentheses, and dot (intended to support expressions like COUNT(id) and table.column), a payload such as `SLEEP(5)` passes through completely unmodified. The sanitized value is concatenated directly into raw SQL ORDER BY clauses (which cannot be parameterized) driven by a `sort_column` GET parameter in at least user_log.php, utilities.php, user_domains.php, and user_group_admin.php, allowing any authenticated Cacti user, regardless of privilege level, to perform time-based blind SQL injection against the Cacti database.

8.8 High

CVSS3