CVE-2026-39897: Reflected XSS in Cacti html_auth_footer (v1.2.30 and Earlier)
Cacti, an open-source monitoring and performance management platform, contains a reflected cross-site scripting (XSS) vulnerability in its authentication footer component. An attacker can craft a malicious link that, when clicked by a user, injects arbitrary JavaScript into the victim's browser session. This could allow theft of session cookies, credential harvesting, or redirection to phishing sites. The vulnerability affects Cacti versions 1.2.30 and earlier; version 1.2.31 and later contain the fix.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.1 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-06-25
NVD description (verbatim)
Cacti is an open source performance and fault management framework. Versions 1.2.30 and below contain a Reflected XSS vulnerability in the html_auth_footer. This issue has been fixed in version 1.2.31.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-39897 is a reflected XSS flaw (CWE-79) residing in the html_auth_footer function of Cacti. The vulnerability stems from insufficient input sanitization of user-supplied data reflected back in the authentication footer HTML. Because the flaw is reflected rather than stored, it requires social engineering (a user clicking a malicious link) to trigger, but the network-accessible nature of Cacti deployments and the low complexity of exploitation make this a practical attack vector. The CVSS 3.1 score of 6.1 (MEDIUM) reflects network accessibility, no privilege requirements, and reliance on user interaction, balanced against limited impact scope (confidentiality and integrity, not availability).
Business impact
For organizations relying on Cacti for infrastructure monitoring, a successful XSS attack could compromise administrative accounts, disrupt monitoring visibility, or serve as a pivot point for lateral movement. While direct system compromise is unlikely, attackers gaining session access could modify monitoring thresholds, disable alerts, or exfiltrate performance data. The reputational cost of a compromised monitoring system can be significant, especially if alerting is disabled during an actual incident.
Affected systems
Cacti version 1.2.30 and all earlier versions are vulnerable. Any organization running an unpatched instance accessible over a network—whether internally or externally—faces risk. Common deployments include on-premises monitoring servers and cloud-hosted monitoring solutions. Docker containers and virtual appliances running affected versions are equally at risk.
Exploitability
Exploitation requires no special privileges and can be performed by an unauthenticated attacker. However, the reflected nature of the XSS means a victim must click a crafted link (typically delivered via email, chat, or social media). The attack is not wormable or self-propagating. The barrier to exploitation is low—an attacker needs only to construct a URL with malicious JavaScript and trick a user into clicking it. No advanced exploit kit or zero-day research is required.
Remediation
Upgrade Cacti to version 1.2.31 or later. Organizations unable to patch immediately should implement network segmentation to restrict access to Cacti interfaces to trusted administrative networks only, enforce strict Content Security Policy (CSP) headers to mitigate XSS impact, and educate users to avoid clicking suspicious links from untrusted sources. Input validation and output encoding hardening should be verified in the deployment.
Patch guidance
Cacti administrators should prioritize upgrading to version 1.2.31 or the latest available release. Before patching, back up configuration and database files. Test the upgrade in a non-production environment first to ensure compatibility with custom plugins or integrations. Verify that all plugin and data sources continue to function post-upgrade. Cacti's official documentation and GitHub repository provide release notes and installation instructions. If in-place upgrade is not feasible, consider a parallel deployment and gradual cutover.
Detection guidance
Monitor web server and application logs for anomalous query strings in authentication-related URLs, particularly those containing JavaScript keywords (script, onerror, onclick, etc.) or encoded payloads. Implement Web Application Firewalls (WAF) rules to block XSS patterns in URL parameters. Endpoint Detection and Response (EDR) tools may flag unexpected JavaScript execution originating from the browser context of Cacti sessions. Hunt for signs of session hijacking, such as logins from unexpected IP addresses or time-of-day anomalies. Network monitoring should flag outbound connections initiated by the Cacti service itself, which would be abnormal.
Why prioritize this
Although this vulnerability carries a MEDIUM CVSS score and is not yet tracked in CISA's KEV catalog, it warrants timely patching because (1) Cacti is commonly deployed in critical infrastructure monitoring roles, (2) the attack vector is network-based and requires no authentication, (3) compromised monitoring can mask ongoing attacks, and (4) administrative accounts are the typical target of XSS in monitoring platforms. Organizations with internet-facing Cacti instances should prioritize this higher; internal-only deployments can follow standard patching cadence.
Risk score, explained
The CVSS 3.1 score of 6.1 reflects a Medium severity: the vulnerability is network-accessible (AV:N) with low attack complexity (AC:L) and no privilege requirements (PR:N), but requires user interaction (UI:R) and has a changed scope (S:C). Impact is limited to confidentiality and integrity (C:L, I:L) with no availability impact (A:N). The score appropriately captures that while exploitation is feasible and could compromise a session, the attack is not a system-wide outage risk. However, the context of Cacti's monitoring role argues for treating it as higher priority than the numerical score alone might suggest.
Frequently asked questions
Can this vulnerability be exploited without user interaction?
No. This is a reflected XSS vulnerability, meaning the malicious payload must be injected by the attacker and reflected back to the victim in the HTML response. An attacker cannot exploit this without social engineering—typically by tricking a user into clicking a malicious link. This differs from stored XSS, which can trigger automatically when other users view a page.
What happens if an attacker successfully exploits this vulnerability?
The attacker's JavaScript executes in the context of the victim's browser with the victim's privileges in Cacti. This enables session hijacking, credential theft, unauthorized actions on the monitoring platform, and potential redirection to phishing sites. The attacker gains whatever access level the compromised user held—often administrative in monitoring scenarios.
Is there a public exploit available?
As of the vulnerability publication date, no exploit has been cataloged in CISA's KEV catalog, and there is no indication of weaponized proof-of-concept code in the wild. However, the simplicity of reflected XSS attacks means an attacker could quickly develop one. This should not delay patching decisions.
Can a WAF or CSP alone prevent this vulnerability?
Security headers like Content-Security-Policy can significantly reduce XSS impact by restricting script execution, but they are not a substitute for patching. A properly configured CSP can prevent inline script execution, but misconfiguration or overly permissive policies may allow bypass. Patching the application is the definitive remediation; WAF and CSP are defense-in-depth measures.
This analysis is provided for informational purposes to assist security teams in risk assessment and remediation planning. It does not constitute legal, compliance, or vendor-specific advice. Verify all patch version numbers and compatibility requirements directly with Cacti's official documentation and release notes before deploying updates. The absence of a vulnerability from CISA's KEV catalog does not indicate low risk; organizations should apply their own prioritization criteria based on exposure and asset criticality. Testing in non-production environments is strongly recommended before production patching. Source: NVD (public-domain), retrieved 2026-08-02. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-39900MEDIUMCacti Reflected XSS via auth_profile.php Tab Parameter
- CVE-2016-20070MEDIUMPrivilege Escalation & Stored XSS in WordPress Booking Calendar Contact Form 1.0.23
- CVE-2018-25384MEDIUMStored XSS in Wikidforum 2.20 Allows Authenticated Attackers to Inject Malicious Scripts
- CVE-2019-25731MEDIUMStored XSS in Zuz Music 2.1 Contact Form
- CVE-2019-25737MEDIUMStored XSS in Live Chat Unlimited 2.8.3 – Admin Session Compromise
- CVE-2019-25739MEDIUMGigToDo 1.3 Stored XSS Vulnerability in Proposal Descriptions
- CVE-2019-25742MEDIUMStored XSS in Zoner Real Estate WordPress Theme 4.1.1 – Admin Account Compromise Risk
- CVE-2019-25743MEDIUMWordPress Soliloquy Lite 2.5.6 Stored XSS Vulnerability