CVE Intelligence
CISA KEV Critical Injection exploit reference

CVE-2022-46169 — Cacti Command Injection Vulnerability

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.

Published Dec 5, 2022 · Updated Oct 13, 2026 · Sources: CISA Known Exploited Vulnerabilities, NIST National Vulnerability Database, CVE Program (cve.org) e CISA ADP · CNA: GitHub_M

Who exploits it and how urgent it is

A 0–100 score combining confirmed exploitation, ransomware and APT use, public exploits, EPSS and severity.

How the score was calculated
  • Confirmed exploitation (CISA KEV)+35
  • Public exploit/PoC (nuclei, metasploit, exploitdb, github)+20
  • EPSS 99.8% (30-day exploitation probability)+15
  • Technical severity (critical)+10

The score orders the patch queue; it does not replace your asset context (internet exposure, criticality, compensating controls).

Triage

Is it exploited, how likely is exploitation, what does it touch, and how severe do the sources call it.

Exploitation
Confirmed
CISA KEV, listed Feb 16, 2023
EPSS FIRST
99.83%
ahead of 100% of scored CVEs · Oct 14, 2026
Affects
Cacti
Cacti
CVSS base
9.8
Critical · 3 source(s)

CISA SSVC assessment CISA

Three decision points CISA publishes for the CVEs it assesses (SSVC 2.0.3). A stakeholder decision, not a severity score.

Exploitation
Active
none · proof-of-concept · active
Automatable
No
can an attacker script the kill-chain steps
Technical impact
Total
partial · total control of the vulnerable component

Remediation

Fixes and mitigations documented by the sources — linked to the original advisory.

  • Documented patch — github.com (NIST National Vulnerability Database)
  • Documented patch — github.com (NIST National Vulnerability Database)
  • Documented patch — github.com (NIST National Vulnerability Database)
  • Documented patch — github.com (NIST National Vulnerability Database)

CISA required action CISA

Apply updates per vendor instructions.

US federal deadline: Mar 9, 2023 — passed 1316 day(s) ago

First 24 hours

Ordered from the record’s own fields — exposure first, because you cannot patch what you have not found. A rule-generated starting point.

  1. Identify exposed assets running the affected vendor/product/version combinations (Cacti Cacti).
  2. Treat as emergency remediation: the CVE is in CISA KEV (confirmed exploitation).
  3. The attack is network-based and needs no privileges: restrict exposure (ACLs, VPN, WAF) until patched.
  4. Apply the fixed version or the patch documented under Remediation.
  5. EPSS ahead of 100% of scored CVEs: prioritize it in the patch queue.
  6. Search available logs for exploit probes matching the vulnerability class (injection), errors and authentication anomalies.

Affected scope

Vendor, product and versions as the sources word them.

VendorProductVersionsStatusSource
Cacti Cacti < 1.2.23 Vulnerable NIST National Vulnerability Database
Cacti Cacti version < 1.2.23 Vulnerable CVE Program (cve.org) e CISA ADP

Attack characteristics

The CVSS vector, decoded. It describes the attack, not your exposure to it.

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Every base score collected

Sources score independently and may disagree; each row says who scored it and under which version.

ScoreVersionSeverityExpl.ImpactScored by
9.8 CVSS 3.1 Critical 3.9 5.9 security-advisories@github.com via NIST National Vulnerability Database
9.8 CVSS 3.1 Critical 3.9 5.9 nvd@nist.gov via NIST National Vulnerability Database
9.8 CVSS 3.1 Critical — — GitHub_M via CVE Program (cve.org) e CISA ADP
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (score shown at the top: nvd@nist.gov)

Weakness MITRE

Weakness class according to MITRE’s CWE catalog.

CWE-78 · OS Command Injection

Other CVEs with this weakness →

CISA KEV details CISA

CISA lists a CVE once it has evidence of exploitation against real targets.

Listed
Feb 16, 2023
Federal deadline
Mar 9, 2023
passed 1316 day(s) ago
Ransomware use
Unknown

CISA records ransomware use only for campaigns it has confirmed, so “Unknown” means unrecorded, not ruled out. The deadline binds US federal agencies; for everyone else it is a reference date.

Public exploits, PoCs and detection templates

Public code that demonstrates or tests the flaw raises the odds of mass exploitation — and Nuclei templates help find vulnerable assets in your environment.

Detection templates (Nuclei)
Metasploit modules

Warning: public PoCs are sometimes disguised malware. Use them only for authorized testing in an isolated environment. This portal does not host exploit code — it only points to the sources.

EPSS over time FIRST

Oct 12, 2026 → Oct 14, 2026 · 3 reading(s) · max 99.83%

Detection

Read off the CVSS vector and the weakness class. Starting points, not tested rules.

  • Prioritize edge telemetry for the network-reachable component (proxy, WAF, IDS/IPS).
  • Look for parameters with command/query metacharacters and unexpected child processes of the service.
  • Hunt retroactively in logs from before Feb 16, 2023 (KEV listing): exploitation may have started earlier.
web/proxy/WAF logsnetwork IDS/IPSapplication logsendpoint telemetry (EDR)

Timeline

What happened to this CVE, newest first.

  • 2026
  • Affected products added · cacti/cacti
    Oct 13, 2026 · CVE Program (cve.org) e CISA ADP
  • SSVC assessment updated
    Oct 13, 2026 · CVE Program (cve.org) e CISA ADP
  • Record published
    Oct 13, 2026
  • Fix documented
    Oct 13, 2026 · NIST National Vulnerability Database
  • Affected products added · cacti/cacti
    Oct 13, 2026 · NIST National Vulnerability Database
  • CVSS changed · 9.8
    Oct 13, 2026 · NIST National Vulnerability Database
  • Source status changed · → Analyzed
    Oct 13, 2026 · NIST National Vulnerability Database
  • Added to CISA KEV (detected)
    Oct 13, 2026 · CISA Known Exploited Vulnerabilities
  • Record created in this database
    Oct 13, 2026 · CISA Known Exploited Vulnerabilities
  • 2023
  • Added to CISA KEV catalog
    Feb 15, 2023 · CISA
  • 2022
  • CVE published
    Dec 5, 2022 · GitHub_M

Source activity

Repeated readings are counted rather than listed.

  • 1× References added · Oct 13, 2026 – Oct 13, 2026
  • 1× Official description updated · Oct 13, 2026 – Oct 13, 2026

References

5 on the record

Elsewhere on this site

Cacti
every CVE for this vendor
2023-02
what else CISA listed that month
Injection
same class
CWE-78
other pages naming this weakness

Related CVEs (same products)

  • Medium CVE-2026-40941 Cacti: Package Import Signature Validation Bypass Allows Self-Signed Packages Jun 25, 2026
  • Medium CVE-2026-40084 Cacti: Arbitrary File Read via Path Traversal in Report `format_file` Parameter Jun 25, 2026
  • Medium CVE-2026-40082 Cacti: Session Fixation via missing session_regenerate_id() after login Jun 25, 2026
  • Medium CVE-2026-40080 Cacti: Open Redirect via HTTP_REFERER substring check in auth_login_redirect Jun 25, 2026
  • High CVE-2026-40083 Cacti: SQL Injection in managers.php Jun 25, 2026
  • High CVE-2026-39951 Cacti: Stored SQL Injection via graph_name_regexp in Reports feature Jun 24, 2026

Not in any source we poll

Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.

  • No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
  • No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
  • No exploit packet captures, log samples, or incident case IDs supplied.

Answered from this record

Text assembled only from the fields above — no additional claims.

What should defenders know first?

CVE-2022-46169 is "Cacti Command Injection Vulnerability", rated Critical. It affects Cacti (Cacti); versions are in the scope table. It is in CISA KEV: there is evidence of real-world exploitation. CVSS 9.8 describes technical severity. EPSS 99.83% estimates the probability of exploitation in 30 days; neither replaces your asset context. First verify whether exposed or business-critical assets run the affected versions, apply vendor fixes or mitigations, and preserve logs for review.

Comments

Moderated technical discussion. Read the community guidelines.

No comments yet.

Sign in or create an account to comment and suggest corrections.