CVE-2022-46169 | Unauthenticated Command Injection

Exp

Cacti is an open source platform which provides a robust and extensible operational monitoring and fault management framework for users. In affected versions a command injection vulnerability allows an unauthenticated user to execute arbitrary code on a server running Cacti, if a specific data source was selected for any monitored device. The vulnerability resides in the `remote_agent.php` file. This file can be accessed without authentication. This function retrieves the IP address of the client via `get_client_addr` and resolves this IP address to the corresponding hostname via `gethostbyaddr`. After this, it is verified that an entry within the `poller` table exists, where the hostname corresponds to the resolved hostname. If such an entry was found, the function returns `true` and the client is authorized. This authorization can be bypassed due to the implementation of the `get_client_addr` function. The function is defined in the file `lib/functions.php` and checks serval `$_SERVER` variables to determine the IP address of the client. The variables beginning with `HTTP_` can be arbitrarily set by an attacker. Since there is a default entry in the `poller` table with the hostname of the server running Cacti, an attacker can bypass the authentication e.g. by providing the header `Forwarded-For: <TARGETIP>`. This way the function `get_client_addr` returns the IP address of the server running Cacti. The following call to `gethostbyaddr` will resolve this IP address to the hostname of the server, which will pass the `poller` hostname check because of the default entry. After the authorization of the `remote_agent.php` file is bypassed, an attacker can trigger different actions. One of these actions is called `polldata`. The called function `poll_for_data` retrieves a few request parameters and loads the corresponding `poller_item` entries from the database. If the `action` of a `poller_item` equals `POLLER_ACTION_SCRIPT_PHP`, the function `proc_open` is used to execute a PHP script. The attacker-controlled parameter `$poller_id` is retrieved via the function `get_nfilter_request_var`, which allows arbitrary strings. This variable is later inserted into the string passed to `proc_open`, which leads to a command injection vulnerability. By e.g. providing the `poller_id=;id` the `id` command is executed. In order to reach the vulnerable call, the attacker must provide a `host_id` and `local_data_id`, where the `action` of the corresponding `poller_item` is set to `POLLER_ACTION_SCRIPT_PHP`. Both of these ids (`host_id` and `local_data_id`) can easily be bruteforced. The only requirement is that a `poller_item` with an `POLLER_ACTION_SCRIPT_PHP` action exists. This is very likely on a productive instance because this action is added by some predefined templates like `Device - Uptime` or `Device - Polling Time`. This command injection vulnerability allows an unauthenticated user to execute arbitrary commands if a `poller_item` with the `action` type `POLLER_ACTION_SCRIPT_PHP` (`2`) is configured. The authorization bypass should be prevented by not allowing an attacker to make `get_client_addr` (file `lib/functions.php`) return an arbitrary IP address. This could be done by not honoring the `HTTP_...` `$_SERVER` variables. If these should be kept for compatibility reasons it should at least be prevented to fake the IP address of the server running Cacti. This vulnerability has been addressed in both the 1.2.x and 1.3.x release branches with `1.2.23` being the first release containing the patch.

公開: 2022-12-05 最終更新: 2026-06-17 Assigner: [email protected] ソース: [email protected]

総合評価: CVE-2022-46169 は在野悪用が確認された重大脅威(100/100)。CVSS 深刻度は重大。悪用される可能性が高い(EPSS 99.83%、100 パーセンタイル) 根拠: CISA KEV に登録(追加日 2023-02-16)。Cacti / Cacti が対象で、弱点分類 CWE-74の悪用が確認されています。未認証でリモート管理権限を奪取されるリスクが極めて高い。 直近 1 日で EPSS が +5.36% 上昇。悪用への関心が高まっている可能性があります。 推奨対応: CISA の対応期限を過ぎています。緊急のパッチ適用を最優先に検討してください。

リスクは変動します。再評価に基づき、本ページの表示内容を更新しています。

CVE-2022-46169 の CISA KEV レコード

名称: Cacti Command Injection Vulnerability · CISA KEV の詳細

悪用情報の追加日: 2023-02-16

対応期限: 2023-03-09

求められる対応: Apply updates per vendor instructions.

CVE-2022-46169 に関する公開 exploit 参照(Exploit-DB)

EDB-ID ソース 種別 公開 リンク
51166 exploit_db edb 2023-03-31 Exploit-DB ↗
nvd_ref exploit_tag Exploit-DB ↗

CVE-2022-46169 の EPSS(Exploit Prediction Scoring System)スコア

EPSS は日次で悪用されやすさの相対度合いを推定します。パーセンタイルは採点済み CVE の中での相対位置(高いほど相対的に深刻)を示します。

# 日付 旧 EPSS スコア 新 EPSS スコア Δ(新 − 旧)
1 2026-06-15 94.47% 99.83% +5.36%
2 2025-11-21 94.36% 94.47% +0.11%
3 2025-11-18 94.36%

EPSS の全履歴 (全 40 件)

CVE-2022-46169 の CVSS(Common Vulnerability Scoring System)指標

この CVE の CVSS 指標。

ベーススコア バージョン 深刻度 ベクトル 悪用しやすさ 影響 スコアの出典
9.8 3.1 CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H クリックして展開
攻撃ベクター (AV:N)
インターネットなど、ルーティングされたネットワーク越しに遠隔から悪用しうる。端末の前にいる必要はない。
攻撃の複雑さ (AC:L)
攻撃者が条件を満たせば、レース条件や珍しい構成に依存せずに再現しやすい。
必要な権限 (PR:N)
事前のログインや昇格は不要で、匿名アクセスのまま踏み台にしうる。
ユーザーの関与 (UI:N)
メールのリンクを開く、マクロを有効にするなど、被害者の協力がなくても成立しうる。
スコープ (S:U)
影響は脆弱コンポーネントと同一のセキュリティ権限・信頼境界の内側に収まる。
機密性への影響 (C:H)
広範な機微データの読み取りや持ち出しが現実的。
完全性への影響 (I:H)
権限の奪取や広範なログ改竄など、システムの信頼根拠を揺るがす改ざんが現実的。
可用性への影響 (A:H)
長時間のサービス停止、データ損壊による復旧不能に近い状態など、利用者に著しい不便を与えうる。
3.9 5.9 [email protected]
9.8 3.1 CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H クリックして展開
攻撃ベクター (AV:N)
インターネットなど、ルーティングされたネットワーク越しに遠隔から悪用しうる。端末の前にいる必要はない。
攻撃の複雑さ (AC:L)
攻撃者が条件を満たせば、レース条件や珍しい構成に依存せずに再現しやすい。
必要な権限 (PR:N)
事前のログインや昇格は不要で、匿名アクセスのまま踏み台にしうる。
ユーザーの関与 (UI:N)
メールのリンクを開く、マクロを有効にするなど、被害者の協力がなくても成立しうる。
スコープ (S:U)
影響は脆弱コンポーネントと同一のセキュリティ権限・信頼境界の内側に収まる。
機密性への影響 (C:H)
広範な機微データの読み取りや持ち出しが現実的。
完全性への影響 (I:H)
権限の奪取や広範なログ改竄など、システムの信頼根拠を揺るがす改ざんが現実的。
可用性への影響 (A:H)
長時間のサービス停止、データ損壊による復旧不能に近い状態など、利用者に著しい不便を与えうる。
3.9 5.9 [email protected]

CVE-2022-46169 の弱点分類(列挙)

CVE-2022-46169 の OS トラッカー

vendor priority summary link
alpine CVE-2022-46169: 1 source package rows (cacti); 9 state rows across 3 repos (3.17-community, 3.22-community, edge-community); fixed 0, open 9. https://security.alpinelinux.org/vuln/CVE-2022-46169
debian not yet assigned CVE-2022-46169 not yet assigned priority: Debian including 1 source packages (cacti), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5. https://security-tracker.debian.org/tracker/CVE-2022-46169
gentoo high CVE-2022-46169: 1 GLSA(s) (202412-02), 1 atom(s) (net-analyzer/cacti); latest impact high. https://bugs.gentoo.org/buglist.cgi?quicksearch=CVE-2022-46169
suse critical https://www.suse.com/security/cve/CVE-2022-46169/
ubuntu high CVE-2022-46169 high priority: Ubuntu including 1 source packages (cacti), 13 status rows across 13 suites (bionic, focal, jammy, kinetic, lunar, mantic, noble, oracular, plucky, questing, trusty, upstream, xenial): not-affected 6, ignored 3, released 3, needs-triage 1. https://ubuntu.com/security/CVE-2022-46169

CVE-2022-46169 の影響を受けるソフトウェア/構成

ベンダー 製品 バージョン 生の CPE
cacti cacti < 1.2.23 cpe:2.3:a:cacti:cacti:*:*:*:*:*:*:*:*

CVE-2022-46169 の参考情報

cvelogic Threat Intelligence