CVE-2023-39514
Stored Cross-site Scripting on graphs.php data template formated name view in Cacti
Cacti is an open source operational monitoring and fault management framework. Affected versions are subject to a Stored Cross-Site-Scripting (XSS) Vulnerability which allows an authenticated user to poison data stored in the cacti's database. These data will be viewed by administrative cacti accounts and execute JavaScript code in the victim's browser at view-time. The script under graphs.php displays graph details such as data-source paths, data template information and graph related fields. CENSUS found that an adversary that is able to configure either a data-source template with malicious code appended in the data-source name or a device with a malicious payload injected in the device name, may deploy a stored XSS attack against any user with General Administration>Graphs privileges. A user that possesses the Template Editor>Data Templates permissions can configure the data-source name in cacti. Please note that this may be a low privileged user. This configuration occurs through http://<HOST>/cacti/data_templates.php by editing an existing or adding a new data template. If a template is linked to a graph then the formatted template name will be rendered in the graph's management page. A user that possesses the General Administration>Sites/Devices/Data permissions can configure the device name in cacti. This vulnerability has been addressed in version 1.2.25. Users are advised to upgrade. Users unable to upgrade should add manual HTML escaping.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- High
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.1
Stored Cross-site Scripting on graphs.php data template formated name view in Cacti
Cacti is an open source operational monitoring and fault management framework. Affected versions are subject to a Stored Cross-Site-Scripting (XSS) Vulnerability which allows an authenticated user to poison data stored in the cacti's database. These data will be viewed by administrative cacti accounts and execute JavaScript code in the victim's browser at view-time. The script under graphs.php displays graph details such as data-source paths, data template information and graph related fields. CENSUS found that an adversary that is able to configure either a data-source template with malicious code appended in the data-source name or a device with a malicious payload injected in the device name, may deploy a stored XSS attack against any user with General Administration>Graphs privileges. A user that possesses the Template Editor>Data Templates permissions can configure the data-source name in cacti. Please note that this may be a low privileged user. This configuration occurs through http://<HOST>/cacti/data_templates.php by editing an existing or adding a new data template. If a template is linked to a graph then the formatted template name will be rendered in the graph's management page. A user that possesses the General Administration>Sites/Devices/Data permissions can configure the device name in cacti. This vulnerability has been addressed in version 1.2.25. Users are advised to upgrade. Users unable to upgrade should add manual HTML escaping.
- Record
CVE-2023-39514- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2023-43236
6.1
Cacti is an open source operational monitoring and fault management framework. Affected versions are subject to a Stored Cross-Site-Scripting (XSS) Vulnerability which allows an authenticated user to poison data stored in the cacti's database. These data will be viewed by administrative cacti accounts and execute JavaScript code in the victim's browser at view-time. The script under graphs.php displays graph details such as data-source paths, data template information and graph related fields. CENSUS found that an adversary that is able to configure either a data-source template with malicious code appended in the data-source name or a device with a malicious payload injected in the device name, may deploy a stored XSS attack against any user with General Administration>Graphs privileges. A user that possesses the Template Editor>Data Templates permissions can configure the data-source name in cacti. Please note that this may be a low privileged user. This configuration occurs through http://<HOST>/cacti/data_templates.php by editing an existing or adding a new data template. If a template is linked to a graph then the formatted template name will be rendered in the graph's management page. A user that possesses the General Administration>Sites/Devices/Data permissions can configure the device name in cacti. This vulnerability has been addressed in version 1.2.25. Users are advised to upgrade. Users unable to upgrade should add manual HTML escaping.
- Record
EUVD-2023-43236- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-03
NVD
6.1
Cacti is an open source operational monitoring and fault management framework. Affected versions are subject to a Stored Cross-Site-Scripting (XSS) Vulnerability which allows an authenticated user to poison data stored in the cacti's database. These data will be viewed by administrative cacti accounts and execute JavaScript code in the victim's browser at view-time. The script under graphs.php displays graph details such as data-source paths, data template information and graph related fields. CENSUS found that an adversary that is able to configure either a data-source template with malicious code appended in the data-source name or a device with a malicious payload injected in the device name, may deploy a stored XSS attack against any user with General Administration>Graphs privileges. A user that possesses the Template Editor>Data Templates permissions can configure the data-source name in cacti. Please note that this may be a low privileged user. This configuration occurs through http://<HOST>/cacti/data_templates.php by editing an existing or adding a new data template. If a template is linked to a graph then the formatted template name will be rendered in the graph's management page. A user that possesses the General Administration>Sites/Devices/Data permissions can configure the device name in cacti. This vulnerability has been addressed in version 1.2.25. Users are advised to upgrade. Users unable to upgrade should add manual HTML escaping.
- Record
CVE-2023-39514- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N - CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVALPINE-CVE-2023-39514
5.4
Cacti is an open source operational monitoring and fault management framework. Affected versions are subject to a Stored Cross-Site-Scripting (XSS) Vulnerability which allows an authenticated user to poison data stored in the cacti's database. These data will be viewed by administrative cacti accounts and execute JavaScript code in the victim's browser at view-time. The script under graphs.php displays graph details such as data-source paths, data template information and graph related fields. CENSUS found that an adversary that is able to configure either a data-source template with malicious code appended in the data-source name or a device with a malicious payload injected in the device name, may deploy a stored XSS attack against any user with General Administration>Graphs privileges. A user that possesses the Template Editor>Data Templates permissions can configure the data-source name in cacti. Please note that this may be a low privileged user. This configuration occurs through http://<HOST>/cacti/data_templates.php by editing an existing or adding a new data template. If a template is linked to a graph then the formatted template name will be rendered in the graph's management page. A user that possesses the General Administration>Sites/Devices/Data permissions can configure the device name in cacti. This vulnerability has been addressed in version 1.2.25. Users are advised to upgrade. Users unable to upgrade should add manual HTML escaping.
- Record
ALPINE-CVE-2023-39514- CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-03
OSV
6.1
Stored Cross-site Scripting on graphs.php data template formated name view in Cacti
Cacti is an open source operational monitoring and fault management framework. Affected versions are subject to a Stored Cross-Site-Scripting (XSS) Vulnerability which allows an authenticated user to poison data stored in the cacti's database. These data will be viewed by administrative cacti accounts and execute JavaScript code in the victim's browser at view-time. The script under graphs.php displays graph details such as data-source paths, data template information and graph related fields. CENSUS found that an adversary that is able to configure either a data-source template with malicious code appended in the data-source name or a device with a malicious payload injected in the device name, may deploy a stored XSS attack against any user with General Administration>Graphs privileges. A user that possesses the Template Editor>Data Templates permissions can configure the data-source name in cacti. Please note that this may be a low privileged user. This configuration occurs through http://<HOST>/cacti/data_templates.php by editing an existing or adding a new data template. If a template is linked to a graph then the formatted template name will be rendered in the graph's management page. A user that possesses the General Administration>Sites/Devices/Data permissions can configure the device name in cacti. This vulnerability has been addressed in version 1.2.25. Users are advised to upgrade. Users unable to upgrade should add manual HTML escaping.
- Record
CVE-2023-39514- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2023-39514
5.4
Cacti is an open source operational monitoring and fault management framework. Affected versions are subject to a Stored Cross-Site-Scripting (XSS) Vulnerability which allows an authenticated user to poison data stored in the cacti's database. These data will be viewed by administrative cacti accounts and execute JavaScript code in the victim's browser at view-time. The script under graphs.php displays graph details such as data-source paths, data template information and graph related fields. CENSUS found that an adversary that is able to configure either a data-source template with malicious code appended in the data-source name or a device with a malicious payload injected in the device name, may deploy a stored XSS attack against any user with General Administration>Graphs privileges. A user that possesses the Template Editor>Data Templates permissions can configure the data-source name in cacti. Please note that this may be a low privileged user. This configuration occurs through http://<HOST>/cacti/data_templates.php by editing an existing or adding a new data template. If a template is linked to a graph then the formatted template name will be rendered in the graph's management page. A user that possesses the General Administration>Sites/Devices/Data permissions can configure the device name in cacti. This vulnerability has been addressed in version 1.2.25. Users are advised to upgrade. Users unable to upgrade should add manual HTML escaping.
- Record
DEBIAN-CVE-2023-39514- CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2023-39514
6.1
Cacti is an open source operational monitoring and fault management framework. Affected versions are subject to a Stored Cross-Site-Scripting (XSS) Vulnerability which allows an authenticated user to poison data stored in the cacti's database. These data will be viewed by administrative cacti accounts and execute JavaScript code in the victim's browser at view-time. The script under graphs.php displays graph details such as data-source paths, data template information and graph related fields. CENSUS found that an adversary that is able to configure either a data-source template with malicious code appended in the data-source name or a device with a malicious payload injected in the device name, may deploy a stored XSS attack against any user with General Administration>Graphs privileges. A user that possesses the Template Editor>Data Templates permissions can configure the data-source name in cacti. Please note that this may be a low privileged user. This configuration occurs through http://<HOST>/cacti/data_templates.php by editing an existing or adding a new data template. If a template is linked to a graph then the formatted template name will be rendered in the graph's management page. A user that possesses the General Administration>Sites/Devices/Data permissions can configure the device name in cacti. This vulnerability has been addressed in version 1.2.25. Users are advised to upgrade. Users unable to upgrade should add manual HTML escaping.
- Record
UBUNTU-CVE-2023-39514- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N - CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
OSVopenSUSE-SU-2023:0275-1 No score
Security update for cacti, cacti-spine
This update for cacti, cacti-spine fixes the following issues:
cacti-spine 1.2.25:
- Spine should see if script to be executed is executable
- Enhance number recognition
- When polling devices, sort by larger number of items first
- Log format may be corrupted when timeout occurs
- Compile warning appears due to GCC flag on RHEL7/RHEL8
- Downed device detection only checks one of the two uptime OIDs
- Compile error appears due to execinfo.h on FreeBSD
- Bootstrap shell script contains some PHP cruft
- Padding is not always removed from the start of non-numeric strings
- Improve SNMP result handling for non-numeric results
- Further improve SNMP result handling for non-numeric results
- Remove check for the max_oids column which has been present since Cacti v1.0
- Minimize Sorting when fetching poller records for maximum performance
- Spine should see if script to be executed is executable
cacti-spine 1.2.24:
- Fix segfault when ignoring older OIDs
cacti 1.2.25:
- CVE-2023-30534: Protect against Insecure deserialization of filter data (boo#1215082)
- CVE-2023-39360: Cross-Site Scripting vulnerability when creating new graphs (boo#1215044)
- CVE-2023-39361: Unauthenticated SQL Injection when viewing graphs (boo#1215045)
- CVE-2023-39357: SQL Injection when saving data with sql_save() (boo#1215040)
- CVE-2023-39362: Authenticated command injection when using SNMP options (boo#1215047)
- CVE-2023-39359: Authenticated SQL injection vulnerability when managing graphs (boo#1215043)
- CVE-2023-39358: Authenticated SQL injection vulnerability when managing reports (boo#1215042)
- CVE-2023-39365: SQL Injection when using regular expressions (boo#1215051)
- CVE-2023-39364: redirect in change password functionality (boo#1215050)
- CVE-2023-39366: Cross-Site Scripting vulnerability with Device Name when managing Data Sources (boo#1215052)
- CVE-2023-39510: Cross-Site Scripting vulnerability with Device Name when administrating Reports (boo#1215053)
- CVE-2023-39511: Cross-Site Scripting vulnerability with Device Name when editing Graphs whilst managing Reports (boo#1215081)
- CVE-2023-39512: Cross-Site Scripting vulnerability with Device Name when managing Data Sources (boo#1215054)
- CVE-2023-39513: Cross-Site Scripting vulnerability with Device Name when debugging data queries (boo#1215055)
- CVE-2023-39514: Cross-Site Scripting vulnerability with Data Source Name when managing Graphs (boo#1215056)
- CVE-2023-39515: Cross-Site Scripting vulnerability with Data Source Name when debugging Data Queries (boo#1215058)
- CVE-2023-39516: Cross-Site Scripting vulnerability with Data Source Information when managing Data Sources (boo#1215059)
- When rebuilding the Poller Cache from command line, allow it to be multi-threaded
- When searching tree or list views, the URL does not update after changes
- When creating a Data Source Template with a specific snmp port, the port is not always applied
- When a Data Query references a file, the filename should be trimmed to remove spurious spaces
- THold plugin may not always install or upgrade properly
- RRD file structures are not always updated properly, if there are more Data Sources in the Data Template than the Graph Template
- When reindexing devices, errors may sometimes be shown
- Boost may loose data when the database server is overloaded
- Boost can sometimes output unexpected or invalid values
- Boost should not attempt to start if there are no items to process
- Rebuilding the poller cache does not always work as expected
- Host CPU items may not work poll as expected when on a remote data collector where hmib is also enabled
- When creating new graphs, invalid offset errors may be generated
- When importing packages, SQL errors may be generated
- When managing plugins from command line, the --plugin option is not properly handled
- When automating an install of Cacti, error messages can be appear
- When performing automated install of a plugin, warnings can be thrown
- Automation…
- Record
openSUSE-SU-2023:0275-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:13203-1 No score
cacti-1.2.25-2.1 on GA media
These are all security issues fixed in the cacti-1.2.25-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13203-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
cactiAlpine:v3.18 |
before 1.2.26-r0 | 1.2.26-r0 |
cactiAlpine:v3.19 |
before 1.2.25-r0 | 1.2.25-r0 |
cactiAlpine:v3.20 |
before 1.2.25-r0 | 1.2.25-r0 |
cactiAlpine:v3.21 |
before 1.2.25-r0 | 1.2.25-r0 |
cactiAlpine:v3.22 |
before 1.2.25-r0 | 1.2.25-r0 |
cactiAlpine:v3.23 |
before 1.2.25-r0 | 1.2.25-r0 |
cactiAlpine:v3.24 |
before 1.2.25-r0 | 1.2.25-r0 |
cactiDebian:12 |
before 1.2.24+ds1-1+deb12u1, plus listed versions 1.2.24+ds1-1 |
1.2.24+ds1-1+deb12u1 |
cactiDebian:13 |
before 1.2.25+ds1-1 | 1.2.25+ds1-1 |
cactiDebian:14 |
before 1.2.25+ds1-1 | 1.2.25+ds1-1 |
Show 17 moreShow less
| Package | Affected | Fixed |
|---|---|---|
cactiUbuntu:Pro:14.04:LTS |
All versions, 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+esm10.8.8b+dfsg-5ubuntu0.2+esm2 |
None known |
cactiUbuntu:Pro:16.04:LTS |
All versions, 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 7 moreShow less0.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+esm10.8.8f+ds1-4ubuntu4.16.04.2+esm2 |
None known |
cactiUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.1.18+ds1-11.1.27+ds1-21.1.27+ds1-31.1.28+ds1-21.1.35+ds1-1 Show 5 moreShow less1.1.36+ds1-11.1.38+ds1-11.1.38+ds1-1ubuntu0.1~esm11.1.38+ds1-1ubuntu0.1~esm31.1.38+ds1-1ubuntu0.1~esm4 |
None known |
cactiUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.2.4+ds1-2ubuntu31.2.9+ds1-1ubuntu11.2.9+ds1-1ubuntu21.2.10+ds1-1ubuntu11.2.10+ds1-1ubuntu1+esm11.2.10+ds1-1ubuntu1.11.2.10+ds1-1ubuntu1.1+esm11.2.10+ds1-1ubuntu1.1+esm2 |
None known |
cactiUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 1.2.16+ds1-2ubuntu11.2.19+ds1-2ubuntu11.2.19+ds1-2ubuntu1+esm11.2.19+ds1-2ubuntu1.11.2.19+ds1-2ubuntu1.1+esm11.2.19+ds1-2ubuntu1.1+esm2 |
None known |
cactiUbuntu:24.04:LTS |
All versions, plus listed versions 1.2.25+ds1-21.2.26+ds1-11.2.26+ds1-1ubuntu0.1 |
None known |
cactiSUSE:Package Hub 12 |
before 1.2.25-bp155.2.3.1 | 1.2.25-bp155.2.3.1 |
cacti-spineSUSE:Package Hub 12 |
before 1.2.25-bp155.2.3.1 | 1.2.25-bp155.2.3.1 |
cactiSUSE:Package Hub 15 SP4 |
before 1.2.25-bp155.2.3.1 | 1.2.25-bp155.2.3.1 |
cacti-spineSUSE:Package Hub 15 SP4 |
before 1.2.25-bp155.2.3.1 | 1.2.25-bp155.2.3.1 |
cactiSUSE:Package Hub 15 SP5 |
before 1.2.25-bp155.2.3.1 | 1.2.25-bp155.2.3.1 |
cacti-spineSUSE:Package Hub 15 SP5 |
before 1.2.25-bp155.2.3.1 | 1.2.25-bp155.2.3.1 |
cactiopenSUSE:Leap 15.4 |
before 1.2.25-bp155.2.3.1 | 1.2.25-bp155.2.3.1 |
cacti-spineopenSUSE:Leap 15.4 |
before 1.2.25-bp155.2.3.1 | 1.2.25-bp155.2.3.1 |
cactiopenSUSE:Leap 15.5 |
before 1.2.25-bp155.2.3.1 | 1.2.25-bp155.2.3.1 |
cacti-spineopenSUSE:Leap 15.5 |
before 1.2.25-bp155.2.3.1 | 1.2.25-bp155.2.3.1 |
cactiopenSUSE:Tumbleweed |
before 1.2.25-2.1 | 1.2.25-2.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases, references | OSV | |
| aliases, published | EUVD | |
| first indexed | CVE List, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-39514 is a medium vulnerability (CVSS 6.1) in Cacti, published September 5, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.87%, the 58th percentile. Fixed in cacti 1.2.26-r0.
References
github.com/Cacti/cacti/security/advisories/GHSA-6hrc-2cfc-8hm7
lists.fedoraproject.org/archives/list/[email protected]/message/WZGB2UXJEUYWWA6IWVFQ3ZTP22FIHMGN
lists.fedoraproject.org/archives/list/[email protected]/message/CFH3J2WVBKY4ZJNMARVOWJQK6PSLPHFH
lists.fedoraproject.org/archives/list/[email protected]/message/WOQFYGLZBAWT4AWNMO7DU73QXWPXTCKH
debian.org/security/2023/dsa-5550
security.alpinelinux.org/vuln/CVE-2023-39514
Show 40 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2023/39xxx/CVE-2023-39514.json
nvd.nist.gov/vuln/detail/CVE-2023-39514
security-tracker.debian.org/tracker/CVE-2023-39514
ubuntu.com/security/CVE-2023-39514
cve.org/CVERecord?id=CVE-2023-39514
lists.opensuse.org/archives/list/[email protected]/thread/JFJCU2NOOFCO7XJZOUW2BQ6HWJMHSYSN
bugzilla.suse.com/1215040
bugzilla.suse.com/1215042
bugzilla.suse.com/1215043
bugzilla.suse.com/1215044
bugzilla.suse.com/1215045
bugzilla.suse.com/1215047
bugzilla.suse.com/1215050
bugzilla.suse.com/1215051
bugzilla.suse.com/1215052
bugzilla.suse.com/1215053
bugzilla.suse.com/1215054
bugzilla.suse.com/1215055
bugzilla.suse.com/1215056
bugzilla.suse.com/1215058
bugzilla.suse.com/1215059
bugzilla.suse.com/1215081
bugzilla.suse.com/1215082
suse.com/security/cve/CVE-2023-30534
suse.com/security/cve/CVE-2023-39357
suse.com/security/cve/CVE-2023-39358
suse.com/security/cve/CVE-2023-39359
suse.com/security/cve/CVE-2023-39360
suse.com/security/cve/CVE-2023-39361
suse.com/security/cve/CVE-2023-39362
suse.com/security/cve/CVE-2023-39364
suse.com/security/cve/CVE-2023-39365
suse.com/security/cve/CVE-2023-39366
suse.com/security/cve/CVE-2023-39510
suse.com/security/cve/CVE-2023-39511
suse.com/security/cve/CVE-2023-39512
suse.com/security/cve/CVE-2023-39513
suse.com/security/cve/CVE-2023-39514
suse.com/security/cve/CVE-2023-39515
suse.com/security/cve/CVE-2023-39516
Left out here: the rest of 1 source description. The JSON record has them.