English version →
Webアプリケーション
CVE-2026-71287 high CVSS 8.8

Cacti's sanitize_sql_column() (lib/functions.php) sanitizes user-supplied ORDER BY column names...

概要

Cacti's sanitize_sql_column() (lib/functions.php) sanitizes user-supplied ORDER BY column names...

原文の説明

取得元が公開している説明をそのまま載せています (多くは英語)。

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.

出典: NIST National Vulnerability Database NVD GitHub Advisory

AI要約

外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。

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

❓ 何が問題か

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

📍 影響範囲

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

🔥 重要度

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

🔧 修正方法

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

🛡️ 暫定回避

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

🔍 検知方法

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

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく