Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2022-46169— Unauthenticated Command Injection

Quick assessment

Affected
Cacti cacti
Exploitation
Confirmed exploitation in the wild; remediate immediately
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Cacti是Cacti团队的一套开源的网络流量监测和分析工具。该工具通过snmpget来获取数据,使用RRDtool绘画图形进行分析,并提供数据和用户管理功能。 Cacti v1.2.22版本存在命令注入漏洞,该漏洞源于未经身份验证的命令注入,允许未经身份验证的用户在运行Cacti的服务器上执行任意代码。

CVSS 9.8 · Critical KEV EPSS 99.83% · P100
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2022-46169

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Unauthenticated Command Injection
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
输出中的特殊元素转义处理不恰当(注入)
Source: CVE Program / CVE List V5
Vulnerability Title
Cacti 命令注入漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Cacti是Cacti团队的一套开源的网络流量监测和分析工具。该工具通过snmpget来获取数据,使用RRDtool绘画图形进行分析,并提供数据和用户管理功能。 Cacti v1.2.22版本存在命令注入漏洞,该漏洞源于未经身份验证的命令注入,允许未经身份验证的用户在运行Cacti的服务器上执行任意代码。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Shenlong Deep Dive — AI Deep Analysis

10-question deep dive: root cause, exploitation, mitigation, urgency. Read summary free, full version requires login.

Affected Products

Vendor Product Affected Versions CPE Subscribe
Cacti cacti < 1.2.23 -

II. Public POCs for CVE-2022-46169

# POC Description Source Link Shenlong Link
1 CVE-2022-46169 https://github.com/imjdl/CVE-2022-46169 POC Details
2 CVE-2022-46169 Cacti remote_agent.php Unauthenticated Command Injection. https://github.com/0xf4n9x/CVE-2022-46169 POC Details
3 CVE-2022-46169 - Cacti Blind Remote Code Execution (Pre-Auth) https://github.com/taythebot/CVE-2022-46169 POC Details
4 Cacti Unauthenticated Command Injection https://github.com/Inplex-sys/CVE-2022-46169 POC Details
5 PoC for CVE-2022-46169 - Unauthenticated RCE on Cacti <= 1.2.22 https://github.com/sAsPeCt488/CVE-2022-46169 POC Details
6 Exploit to CVE-2022-46169 vulnerability https://github.com/botfather0x0/CVE-2022-46169 POC Details
7 Cacti: Unauthenticated Remote Code Execution Exploit in Ruby https://github.com/Habib0x0/CVE-2022-46169 POC Details
8 RCE POC for CVE-2022-46169 https://github.com/N1arut/CVE-2022-46169_POC POC Details
9 None https://github.com/miko550/CVE-2022-46169 POC Details
10 This is poc of CVE-2022-46169 authentication bypass and remote code execution https://github.com/ariyaadinatha/cacti-cve-2022-46169-exploit POC Details
11 Repo for CVE-2022-46169 https://github.com/doosec101/CVE-2022-46169 POC Details
12 WARNING: This is a vulnerable application to test the exploit for the Cacti command injection (CVE-2022-46169). Run it at your own risk! https://github.com/m3ssap0/cacti-rce-cve-2022-46169-vulnerable-application POC Details
13 None https://github.com/devAL3X/CVE-2022-46169_poc POC Details
14 Unauthenticated Remote Code Execution through authentication bypass and command injection in Cacti < 1.2.23 and < 1.3.0 https://github.com/JacobEbben/CVE-2022-46169_unauth_remote_code_execution POC Details
15 Fixed exploit for CVE-2022-46169 (originally from https://www.exploit-db.com/exploits/51166) https://github.com/icebreack/CVE-2022-46169 POC Details
16 PoC for CVE-2022-46169 that affects Cacti 1.2.22 version https://github.com/devilgothies/CVE-2022-46169 POC Details
17 CVE-2022-46169 https://github.com/yassinebk/CVE-2022-46169 POC Details
18 Exploit for cacti version 1.2.22 https://github.com/ruycr4ft/CVE-2022-46169 POC Details
19 This is a exploit of CVE-2022-46169 to cacti 1.2.22. This exploit allows through an RCE to obtain a reverse shell on your computer. https://github.com/FredBrave/CVE-2022-46169-CACTI-1.2.22 POC Details
20 Este es un código del exploit CVE-2022-46169, que recree utilizando Python3! Si por ahí estás haciendo una máquina de HTB, esto te puede ser útil... 🤞✨ https://github.com/sha-16/RCE-Cacti-1.2.22 POC Details
21 Improved PoC for Unauthenticated RCE on Cacti <= 1.2.22 - CVE-2022-46169 https://github.com/Safarchand/CVE-2022-46169 POC Details
22 Proof of concept / CTF script for exploiting CVE-2022-46169 in Cacti, versions >=1.2.22 https://github.com/MarkStrendin/CVE-2022-46169 POC Details
23 🐍 Python Exploit for CVE-2022-46169 https://github.com/BKreisel/CVE-2022-46169 POC Details
24 A simple PoC for CVE-2022-46169 a.k.a Cacti Unauthenticated Command Injection, a vulnerability allows an unauthenticated user to execute arbitrary code on a server running Cacti prior from version 1.2.17 to 1.2.22 https://github.com/Rickster5555/EH2-PoC POC Details
25 None https://github.com/antisecc/CVE-2022-46169 POC Details
26 Unauthenticated Command Injection in Cacti <= 1.2.22 https://github.com/dawnl3ss/CVE-2022-46169 POC Details
27 CVE-2022-46169 https://github.com/a1665454764/CVE-2022-46169 POC Details
28 None https://github.com/0xZon/CVE-2022-46169-Exploit POC Details
29 An advanced RCE tool tailored for exploiting a vulnerability in Cacti v1.2.22. Crafted with precision, this utility aids security researchers in analyzing and understanding the depth of the CVE-2022-46169 flaw. Use responsibly and ethically. https://github.com/copyleftdev/PricklyPwn POC Details
30 Exploit for CVE-2022-46169 https://github.com/0xN7y/CVE-2022-46169 POC Details
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2022-46169

请登录查看更多情报信息。

Patches & Fixes for CVE-2022-46169 (3)

Vendor Advisories for CVE-2022-46169 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2022-46169

No comments yet


Leave a comment