Every CVE Search/ Get API key

CVE-2024-25641

Cacti RCE vulnerability when importing packages

9.1 CriticalPublic exploitFix available

Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, an arbitrary file write vulnerability, exploitable through the "Package Import" feature, allows authenticated users having the "Import Templates" permission to execute arbitrary PHP code on the web server. The vulnerability is located within the import_package() function defined into the /lib/import.php script. The function blindly trusts the filename and file content provided within the XML data, and writes such files into the Cacti base path (or even outside, since path traversal sequences are not filtered). This can be exploited to write or overwrite arbitrary files on the web server, leading to execution of arbitrary PHP code or other security impacts. Version 1.2.27 contains a patch for this issue.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
High
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

86.3%Up 86.3 points since May 14, 2024
90%50%10%1%

What each source reports

CVE List Score used 9.1

Cacti RCE vulnerability when importing packages

Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, an arbitrary file write vulnerability, exploitable through the "Package Import" feature, allows authenticated users having the "Import Templates" permission to execute arbitrary PHP code on the web server. The vulnerability is located within the import_package() function defined into the /lib/import.php script. The function blindly trusts the filename and file content provided within the XML data, and writes such files into the Cacti base path (or even outside, since path traversal sequences are not filtered). This can be exploited to write or overwrite arbitrary files on the web server, leading to execution of arbitrary PHP code or other security impacts. Version 1.2.27 contains a patch for this issue.

Record
CVE-2024-25641
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
Weakness
CWE-20
Updated
2026-11-02
EUVDEUVD-2024-22957 9.1

Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, an arbitrary file write vulnerability, exploitable through the "Package Import" feature, allows authenticated users having the "Import Templates" permission to execute arbitrary PHP code on the web server. The vulnerability is located within the import_package() function defined into the /lib/import.php script. The function blindly trusts the filename and file content provided within the XML data, and writes such files into the Cacti base path (or even outside, since path traversal sequences are not filtered). This can be exploited to write or overwrite arbitrary files on the web server, leading to execution of arbitrary PHP code or other security impacts. Version 1.2.27 contains a patch for this issue.

Record
EUVD-2024-22957
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
Updated
2026-11-02
NVD 9.1

Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, an arbitrary file write vulnerability, exploitable through the "Package Import" feature, allows authenticated users having the "Import Templates" permission to execute arbitrary PHP code on the web server. The vulnerability is located within the import_package() function defined into the /lib/import.php script. The function blindly trusts the filename and file content provided within the XML data, and writes such files into the Cacti base path (or even outside, since path traversal sequences are not filtered). This can be exploited to write or overwrite arbitrary files on the web server, leading to execution of arbitrary PHP code or other security impacts. Version 1.2.27 contains a patch for this issue.

Record
CVE-2024-25641
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
CVSS 3.1
7.2 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-20
Updated
2026-11-02
OSVALPINE-CVE-2024-25641 7.2

Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, an arbitrary file write vulnerability, exploitable through the "Package Import" feature, allows authenticated users having the "Import Templates" permission to execute arbitrary PHP code on the web server. The vulnerability is located within the import_package() function defined into the /lib/import.php script. The function blindly trusts the filename and file content provided within the XML data, and writes such files into the Cacti base path (or even outside, since path traversal sequences are not filtered). This can be exploited to write or overwrite arbitrary files on the web server, leading to execution of arbitrary PHP code or other security impacts. Version 1.2.27 contains a patch for this issue.

Record
ALPINE-CVE-2024-25641
CVSS 3.1
7.2 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-03
OSV 9.1

Cacti RCE vulnerability when importing packages

Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, an arbitrary file write vulnerability, exploitable through the "Package Import" feature, allows authenticated users having the "Import Templates" permission to execute arbitrary PHP code on the web server. The vulnerability is located within the import_package() function defined into the /lib/import.php script. The function blindly trusts the filename and file content provided within the XML data, and writes such files into the Cacti base path (or even outside, since path traversal sequences are not filtered). This can be exploited to write or overwrite arbitrary files on the web server, leading to execution of arbitrary PHP code or other security impacts. Version 1.2.27 contains a patch for this issue.

Record
CVE-2024-25641
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
Weakness
CWE-20
Updated
2026-11-02
OSVDEBIAN-CVE-2024-25641 7.2

Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, an arbitrary file write vulnerability, exploitable through the "Package Import" feature, allows authenticated users having the "Import Templates" permission to execute arbitrary PHP code on the web server. The vulnerability is located within the import_package() function defined into the /lib/import.php script. The function blindly trusts the filename and file content provided within the XML data, and writes such files into the Cacti base path (or even outside, since path traversal sequences are not filtered). This can be exploited to write or overwrite arbitrary files on the web server, leading to execution of arbitrary PHP code or other security impacts. Version 1.2.27 contains a patch for this issue.

Record
DEBIAN-CVE-2024-25641
CVSS 3.1
7.2 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 5 moreShow less
OSVUBUNTU-CVE-2024-25641 7.2

Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, an arbitrary file write vulnerability, exploitable through the "Package Import" feature, allows authenticated users having the "Import Templates" permission to execute arbitrary PHP code on the web server. The vulnerability is located within the import_package() function defined into the /lib/import.php script. The function blindly trusts the filename and file content provided within the XML data, and writes such files into the Cacti base path (or even outside, since path traversal sequences are not filtered). This can be exploited to write or overwrite arbitrary files on the web server, leading to execution of arbitrary PHP code or other security impacts. Version 1.2.27 contains a patch for this issue.

Record
UBUNTU-CVE-2024-25641
CVSS 3.1
7.2 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
Updated
2026-11-02
OSVopenSUSE-SU-2024:0274-1 No score

Security update for cacti, cacti-spine

This update for cacti, cacti-spine fixes the following issues:

  • cacti 1.2.27:

    • CVE-2024-34340: Authentication Bypass when using using older password hashes (boo#1224240)
    • CVE-2024-25641: RCE vulnerability when importing packages (boo#1224229)
    • CVE-2024-31459: RCE vulnerability when plugins include files (boo#1224238)
    • CVE-2024-31460: SQL Injection vulnerability when using tree rules through Automation API (boo#1224239)
    • CVE-2024-29894: XSS vulnerability when using JavaScript based messaging API (boo#1224231)
    • CVE-2024-31458: SQL Injection vulnerability when using form templates (boo#1224241)
    • CVE-2024-31444: XSS vulnerability when reading tree rules with Automation API (boo#1224236)
    • CVE-2024-31443: XSS vulnerability when managing data queries (boo#1224235)
    • CVE-2024-31445: SQL Injection vulnerability when retrieving graphs using Automation API (boo#1224237)
    • CVE-2024-27082: XSS vulnerability when managing trees (boo#1224230)
    • Improve PHP 8.3 support
    • When importing packages via command line, data source profile could not be selected
    • When changing password, returning to previous page does not always work
    • When using LDAP authentication the first time, warnings may appear in logs
    • When editing/viewing devices, add IPv6 info to hostname tooltip
    • Improve speed of polling when Boost is enabled
    • Improve support for Half-Hour time zones
    • When user session not found, device lists can be incorrectly returned
    • On import, legacy templates may generate warnings
    • Improve support for alternate locations of Ping
    • Improve PHP 8.1 support for Installer
    • Fix issues with number formatting
    • Improve PHP 8.1 support when SpikeKill is run first time
    • Improve PHP 8.1 support for SpikeKill
    • When using Chinese to search for graphics, garbled characters appear.
    • When importing templates, preview mode will not always load
    • When remote poller is installed, MySQL TimeZone DB checks are not performed
    • When Remote Poller installation completes, no finish button is shown
    • Unauthorized agents should be recorded into logs
    • Poller cache may not always update if hostname changes
    • When using CMD poller, Failure and Recovery dates may have incorrect values
    • Saving a Tree can cause the tree to become unpublished
    • Web Basic Authentication does not record user logins
    • When using Accent-based languages, translations may not work properly
    • Fix automation expressions for device rules
    • Improve PHP 8.1 Support during fresh install with boost
    • Add a device 'enabled/disabled' indicator next to the graphs
    • Notify the admin periodically when a remote data collector goes into heartbeat status
    • Add template for Aruba Clearpass
    • Add fliter/sort of Device Templates by Graph Templates
  • cacti-spine 1.2.27:

    • Restore AES Support
Record
openSUSE-SU-2024:0274-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:0276-1 No score

Security update for cacti, cacti-spine

This update for cacti, cacti-spine fixes the following issues:

  • cacti 1.2.27:

    • CVE-2024-34340: Authentication Bypass when using using older password hashes (boo#1224240)
    • CVE-2024-25641: RCE vulnerability when importing packages (boo#1224229)
    • CVE-2024-31459: RCE vulnerability when plugins include files (boo#1224238)
    • CVE-2024-31460: SQL Injection vulnerability when using tree rules through Automation API (boo#1224239)
    • CVE-2024-29894: XSS vulnerability when using JavaScript based messaging API (boo#1224231)
    • CVE-2024-31458: SQL Injection vulnerability when using form templates (boo#1224241)
    • CVE-2024-31444: XSS vulnerability when reading tree rules with Automation API (boo#1224236)
    • CVE-2024-31443: XSS vulnerability when managing data queries (boo#1224235)
    • CVE-2024-31445: SQL Injection vulnerability when retrieving graphs using Automation API (boo#1224237)
    • CVE-2024-27082: XSS vulnerability when managing trees (boo#1224230)
    • Improve PHP 8.3 support
    • When importing packages via command line, data source profile could not be selected
    • When changing password, returning to previous page does not always work
    • When using LDAP authentication the first time, warnings may appear in logs
    • When editing/viewing devices, add IPv6 info to hostname tooltip
    • Improve speed of polling when Boost is enabled
    • Improve support for Half-Hour time zones
    • When user session not found, device lists can be incorrectly returned
    • On import, legacy templates may generate warnings
    • Improve support for alternate locations of Ping
    • Improve PHP 8.1 support for Installer
    • Fix issues with number formatting
    • Improve PHP 8.1 support when SpikeKill is run first time
    • Improve PHP 8.1 support for SpikeKill
    • When using Chinese to search for graphics, garbled characters appear.
    • When importing templates, preview mode will not always load
    • When remote poller is installed, MySQL TimeZone DB checks are not performed
    • When Remote Poller installation completes, no finish button is shown
    • Unauthorized agents should be recorded into logs
    • Poller cache may not always update if hostname changes
    • When using CMD poller, Failure and Recovery dates may have incorrect values
    • Saving a Tree can cause the tree to become unpublished
    • Web Basic Authentication does not record user logins
    • When using Accent-based languages, translations may not work properly
    • Fix automation expressions for device rules
    • Improve PHP 8.1 Support during fresh install with boost
    • Add a device 'enabled/disabled' indicator next to the graphs
    • Notify the admin periodically when a remote data collector goes into heartbeat status
    • Add template for Aruba Clearpass
    • Add fliter/sort of Device Templates by Graph Templates
  • cacti-spine 1.2.27:

    • Restore AES Support
Record
openSUSE-SU-2024:0276-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13962-1 No score

cacti-1.2.27-1.1 on GA media

These are all security issues fixed in the cacti-1.2.27-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13962-1
Updated
2026-11-02
OSVUSN-6969-1 No score

cacti vulnerabilities

It was discovered that Cacti did not properly apply checks to the "Package Import" feature. An attacker could possibly use this issue to perform arbitrary code execution. This issue only affected Ubuntu 24.04 LTS, Ubuntu 22.04 LTS, Ubuntu 20.04 LTS and Ubuntu 18.04 LTS. (CVE-2024-25641)

It was discovered that Cacti did not properly sanitize values when using javascript based API. A remote attacker could possibly use this issue to inject arbitrary javascript code resulting into cross-site scripting vulnerability. This issue only affected Ubuntu 24.04 LTS. (CVE-2024-29894)

It was discovered that Cacti did not properly sanitize values when managing data queries. A remote attacker could possibly use this issue to inject arbitrary javascript code resulting into cross-site scripting vulnerability. (CVE-2024-31443)

It was discovered that Cacti did not properly sanitize values when reading tree rules with Automation API. A remote attacker could possibly use this issue to inject arbitrary javascript code resulting into cross-site scripting vulnerability. (CVE-2024-31444)

It was discovered that Cacti did not properly sanitize "get_request_var('filter')" values in the "api_automation.php" file. A remote attacker could possibly use this issue to perform SQL injection attacks. This issue only affected Ubuntu 24.04 LTS, Ubuntu 22.04 LTS, Ubuntu 20.04 LTS and Ubuntu 18.04 LTS. (CVE-2024-31445)

It was discovered that Cacti did not properly sanitize data stored in "form_save()" function in the "graph_template_inputs.php" file. A remote attacker could possibly use this issue to perform SQL injection attacks. (CVE-2024-31458)

It was discovered that Cacti did not properly validate the file urls from the lib/plugin.php file. An attacker could possibly use this issue to perform arbitrary code execution. (CVE-2024-31459)

It was discovered that Cacti did not properly validate the data stored in the "automation_tree_rules.php". A remote attacker could possibly use this issue to perform SQL injection attacks. This issue only affected Ubuntu 24.04 LTS, Ubuntu 22.04 LTS, Ubuntu 20.04 LTS and Ubuntu 18.04 LTS. (CVE-2024-31460)

It was discovered that Cacti did not properly verify the user password. An attacker could possibly use this issue to bypass authentication mechanism. This issue only affected Ubuntu 24.04 LTS, Ubuntu 22.04 LTS, Ubuntu 20.04 LTS and Ubuntu 18.04 LTS. (CVE-2024-34360)

Record
USN-6969-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
cacti
Alpine:v3.19
before 1.2.27-r0
1.2.27-r0
cacti
Alpine:v3.20
before 1.2.27-r0
1.2.27-r0
cacti
Alpine:v3.21
before 1.2.27-r0
1.2.27-r0
cacti
Alpine:v3.22
before 1.2.27-r0
1.2.27-r0
cacti
Alpine:v3.23
before 1.2.27-r0
1.2.27-r0
cacti
Alpine:v3.24
before 1.2.27-r0
1.2.27-r0
cacti
Debian:12
before 1.2.24+ds1-1+deb12u3, plus listed versions
1.2.24+ds1-11.2.24+ds1-1+deb12u11.2.24+ds1-1+deb12u2
1.2.24+ds1-1+deb12u3
cacti
Debian:13
before 1.2.27+ds1-1
1.2.27+ds1-1
cacti
Debian:14
before 1.2.27+ds1-1
1.2.27+ds1-1
cacti
Debian:11
before 1.2.16+ds1-2+deb11u4, plus listed versions
1.2.16+ds1-21.2.16+ds1-2+deb11u11.2.16+ds1-2+deb11u21.2.16+ds1-2+deb11u3
1.2.16+ds1-2+deb11u4
Show 17 moreShow less
Affected packages
PackageAffectedFixed
cacti
Ubuntu:Pro:18.04:LTS
before 1.1.38+ds1-1ubuntu0.1~esm3, plus listed versions
1.1.18+ds1-11.1.27+ds1-21.1.27+ds1-31.1.28+ds1-21.1.35+ds1-11.1.36+ds1-11.1.38+ds1-11.1.38+ds1-1ubuntu0.1~esm1
1.1.38+ds1-1ubuntu0.1~esm3
cacti
Ubuntu:20.04:LTS
before 1.2.10+ds1-1ubuntu1.1, plus listed versions
1.2.4+ds1-2ubuntu31.2.9+ds1-1ubuntu11.2.9+ds1-1ubuntu21.2.10+ds1-1ubuntu1
1.2.10+ds1-1ubuntu1.1
cacti
Ubuntu:22.04:LTS
before 1.2.19+ds1-2ubuntu1.1, plus listed versions
1.2.16+ds1-2ubuntu11.2.19+ds1-2ubuntu1
1.2.19+ds1-2ubuntu1.1
cacti
Ubuntu:24.04:LTS
before 1.2.26+ds1-1ubuntu0.1, plus listed versions
1.2.25+ds1-21.2.26+ds1-1
1.2.26+ds1-1ubuntu0.1
cacti
Ubuntu:Pro:14.04:LTS
before 0.8.8b+dfsg-5ubuntu0.2+esm2, plus listed versions
0.8.8b+dfsg-30.8.8b+dfsg-50.8.8b+dfsg-5ubuntu0.10.8.8b+dfsg-5ubuntu0.20.8.8b+dfsg-5ubuntu0.2+esm1
0.8.8b+dfsg-5ubuntu0.2+esm2
cacti
Ubuntu:Pro:16.04:LTS
before 0.8.8f+ds1-4ubuntu4.16.04.2+esm2, plus listed versions
0.8.8f+ds1-20.8.8f+ds1-30.8.8f+ds1-40.8.8f+ds1-4ubuntu10.8.8f+ds1-4ubuntu2
Show 6 moreShow less
0.8.8f+ds1-4ubuntu30.8.8f+ds1-4ubuntu40.8.8f+ds1-4ubuntu4.16.040.8.8f+ds1-4ubuntu4.16.04.10.8.8f+ds1-4ubuntu4.16.04.20.8.8f+ds1-4ubuntu4.16.04.2+esm1
0.8.8f+ds1-4ubuntu4.16.04.2+esm2
cacti
SUSE:Package Hub 12
before 1.2.27-bp155.2.9.1
1.2.27-bp155.2.9.1
cacti-spine
SUSE:Package Hub 12
before 1.2.27-bp155.2.9.1
1.2.27-bp155.2.9.1
cacti
SUSE:Package Hub 15 SP5
before 1.2.27-bp155.2.9.1
1.2.27-bp155.2.9.1
cacti-spine
SUSE:Package Hub 15 SP5
before 1.2.27-bp155.2.9.1
1.2.27-bp155.2.9.1
cacti
openSUSE:Leap 15.5
before 1.2.27-bp155.2.9.1
1.2.27-bp155.2.9.1
cacti-spine
openSUSE:Leap 15.5
before 1.2.27-bp155.2.9.1
1.2.27-bp155.2.9.1
cacti
SUSE:Package Hub 15 SP6
before 1.2.27-bp156.2.3.1
1.2.27-bp156.2.3.1
cacti-spine
SUSE:Package Hub 15 SP6
before 1.2.27-bp156.2.3.1
1.2.27-bp156.2.3.1
cacti
openSUSE:Leap 15.6
before 1.2.27-bp156.2.3.1
1.2.27-bp156.2.3.1
cacti-spine
openSUSE:Leap 15.6
before 1.2.27-bp156.2.3.1
1.2.27-bp156.2.3.1
cacti
openSUSE:Tumbleweed
before 1.2.27-1.1
1.2.27-1.1

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
MetasploitCacti Import Packages RCE2024-05-12
PoC in GitHub5ma1l/CVE-2024-256412024-08-26
PoC in GitHubSafarchand/CVE-2024-256412024-08-27
PoC in GitHubleo-mitch/CVE-2024-25641-RCE-Automated-Exploit-Cacti-1.2.262024-08-27
PoC in GitHubStopThatTalace/CVE-2024-25641-CACTI-RCE-1.2.262024-08-29
PoC in GitHubD3Ext/CVE-2024-256412025-01-05
PoC in GitHubregantemudo/CVE-2024-25641-Exploit-for-Cacti-1.2.262025-03-17
Exploit-DBCacti 1.2.26 - Remote Code Execution (RCE) (Authenticated)2025-04-15
PoC in GitHubGabrielCF10/CVE-2024-25641---Cacti2026-01-20

History

History
RecordedChangedSources
affected, aliases, referencesOSV
exploits
first indexedCVE List, EUVD, Exploit-DB, Metasploit, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-25641 is a critical vulnerability (CVSS 9.1) in Cacti, published May 13, 2024. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 86.3%, the 99th percentile. Fixed in cacti 1.2.27-r0.

References

Show 36 moreShow less
MoveEnter Open