VYPR
Unrated severityNVD Advisory· Published Dec 22, 2023· Updated Feb 25, 2026

Cacti has incomplete fix for CVE-2023-39515

CVE-2023-49088

Description

Cacti is an open source operational monitoring and fault management framework. The fix applied for CVE-2023-39515 in version 1.2.25 is incomplete as it enables an adversary to have a victim browser execute malicious code when a victim user hovers their mouse over the malicious data source path in data_debug.php. To perform the cross-site scripting attack, the adversary needs to be an authorized cacti user with the following permissions: General Administration>Sites/Devices/Data. The victim of this attack could be any account with permissions to view http:///cacti/data_debug.php. As of time of publication, no complete fix has been included in Cacti.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

9

Patches

Vulnerability mechanics

Root cause

"The jQuery UI tooltip override in layout.js returns the `title` attribute value as raw HTML without sanitization, and the browser's HTML decoding of the attribute defeats the HTML encoding applied earlier."

Attack vector

An authenticated attacker with **General Administration>Sites/Devices/Data** privileges sends a POST request to `data_sources.php` containing a malicious `data_source_path` parameter (e.g. an `<img>` tag with an `onerror` handler). This payload is stored in the database. When a victim who can view `data_debug.php` navigates to that page and hovers over the poisoned data source path, the browser renders the malicious HTML/JavaScript because the tooltip content is taken directly from the `title` attribute without sanitization [ref_id=1][ref_id=2]. The attack is a stored cross-site scripting (XSS) that executes in the victim's browser upon mouse hover.

What the fix does

The advisory states that the fix applied for CVE-2023-39515 in version 1.2.25 was incomplete [ref_id=1]. Although HTML encoding was added for the `title` attribute and the displayed value, the `title` attribute is passed to jQuery UI's tooltip via a custom `content` function that returns `$(this).prop('title')` unmodified. Because the browser decodes HTML entities when the attribute is read, the decoded payload becomes executable HTML when jQuery UI calls `.html(content)` on the tooltip element [ref_id=1]. The recommended remediation is to avoid using HTML content in tooltips or to sanitize the `title` value with a library like HTML Purifier before passing it to the tooltip [ref_id=1]. No complete fix has been included in Cacti as of the time of publication.

Preconditions

  • authAttacker must be an authenticated Cacti user with 'General Administration>Sites/Devices/Data' permission
  • authVictim must have permission to view data_debug.php
  • inputVictim must hover the mouse over the malicious data source path in the Troubleshooting screen

Generated on Jun 15, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

5

News mentions

0

No linked articles in our index yet.