Web Application
CVE-2026-71287 high CVSS 8.8

SQL Injection in Cacti (CVE-2026-71287)

Summary

SQL injection in Cacti (CVE-2026-71287). Successful exploitation can lead to full system takeover. Exploitable via sort_column.

Original description

The description as published by the source.

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.

Source: NIST National Vulnerability Database NVD GitHub Advisory

AI summary

Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.

Cactiの関数sanitize_sql_column()は、ユーザーから提供されたORDER BYカラム名を正規表現でサニタイズしていますが、指定された文字列がそのまま許可されてしまうため、SQLインジェクションのリスクがあります。この脆弱性を利用すると、認証されたユーザーがCactiデータベースに対してタイムベースのブラインドSQLインジェクションを実行できます。

❓ What is the problem

Cactiの関数sanitize_sql_column()の不適切なサニタイズによるSQLインジェクションの脆弱性。

📍 Affected scope

lib/functions.php内のsanitize_sql_column()関数。

🔥 Severity

認証済みのCactiユーザーがタイムベースのブラインドSQLインジェクションを実行可能。

🔧 How to fix

正規表現の見直しおよびパラメータ化されたクエリの使用を考慮する。

🛡️ Workaround

時間がかかってもSQLクエリの内容を手動で確認する。

🔍 Detection

GETパラメータsort_columnに対する入力の確認とアクセスログの精査。

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details