CVE-2025-71385: Netdata XSS Vulnerability in ilove SVG Endpoints (Medium, CVSS 6.1)
Netdata versions before 2.3.1 contain a reflected cross-site scripting (XSS) vulnerability in two undocumented SVG endpoints. These endpoints (`/api/v2/ilove.svg` and `/api/v3/ilove.svg`) accept a user-supplied `love` query parameter and insert it directly into an SVG document without any sanitization. An attacker can craft a malicious URL containing JavaScript code, and when a victim visits that URL, the script executes in their browser with access to the Netdata instance's origin. Because these endpoints are accessible without authentication on default Netdata deployments, no special access is required to exploit this vulnerability.
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-07-02 / 2026-07-14
NVD description (verbatim)
Netdata before 2.3.1 reflects the user-supplied love query parameter of the api/v2/ilove.svg and api/v3/ilove.svg endpoints verbatim into the generated SVG document (into a text element) without HTML or XML escaping, and serves the response with Content-Type image/svg+xml. An attacker can craft a URL such as /api/v2/ilove.svg?love=<script>...</script>; when a victim navigates to it the injected script executes in the victim browser in the origin of the Netdata instance (reflected cross-site scripting). These endpoints are registered with HTTP_ACL_NOCHECK and anonymous access and, because bearer-token protection is disabled by default, are reachable without authentication on a default Netdata agent. The issue was resolved by removing the ilove endpoint.
4 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2025-71385 is a DOM-based reflected XSS vulnerability affecting the `api/v2/ilove.svg` and `api/v3/ilove.svg` endpoints in Netdata. The vulnerability stems from insufficient input validation: the `love` query parameter is reflected verbatim into a text element within an SVG document served with `Content-Type: image/svg+xml`, without HTML or XML entity encoding. This allows injection of arbitrary XML/SVG tags and JavaScript. The endpoints are registered with `HTTP_ACL_NOCHECK` permitting anonymous access; bearer-token authentication is disabled by default, making them reachable on standard Netdata agent installations. Netdata 2.3.1 resolves the issue by removing the vulnerable endpoints entirely.
Business impact
This vulnerability poses a moderate but real risk to organizations running Netdata monitoring agents. If an attacker tricks a user (such as a system administrator or security operator) into clicking a malicious link to a Netdata instance they monitor, the attacker can steal session cookies, authentication tokens, or sensitive dashboard data accessible from that origin. In multi-tenant or shared monitoring environments, XSS on the monitoring interface can undermine trust in dashboard integrity and enable lateral movement or privilege escalation if Netdata holds credentials for downstream systems. The attack requires user interaction (clicking a link), which limits but does not eliminate the practical impact.
Affected systems
Netdata versions before 2.3.1 are affected. The vulnerable endpoints are present in any standard Netdata agent installation with default settings. Organizations should verify their Netdata version via the web UI (typically accessible on port 19999) or by checking agent logs and package metadata. Notably, the vulnerability does not require special Netdata configuration to be exploitable—the endpoints are enabled by default and anonymous-accessible.
Exploitability
Exploitation requires network access to a Netdata instance and social engineering or credential phishing to deliver a malicious URL to a user with a legitimate reason to access that Netdata dashboard. No authentication bypass is necessary. An attacker cannot exploit this vulnerability passively; the victim must navigate to the crafted URL. However, the low bar for crafting the attack (a simple URL with script tags) and the default-accessible nature of the endpoints mean this is relatively straightforward for a moderately skilled attacker. No exploit code in the wild has been confirmed at publication, and the vulnerability was not added to the CISA Known Exploited Vulnerabilities (KEV) catalog.
Remediation
Upgrade Netdata to version 2.3.1 or later. The fix removes the vulnerable endpoints entirely, eliminating the attack surface. For organizations unable to patch immediately, consider restricting network access to the Netdata web UI (port 19999) to trusted internal subnets only, or place Netdata behind an authentication proxy. Disabling anonymous access via Netdata's access control list (ACL) configuration may also reduce exposure, though this does not address the root cause.
Patch guidance
Apply Netdata 2.3.1 or later through your standard package management tools (apt, yum, Docker, etc.). Verify successful upgrade by checking the version string in the Netdata web UI (Administration → About) or via command line. No special configuration changes are required post-upgrade; the endpoints will be absent and requests to them will return 404. Test the upgrade in a non-production environment first if feasible. Netdata provides both stable and nightly releases; confirm your deployment strategy aligns with your organization's release cadence.
Detection guidance
Monitor web server or reverse-proxy logs for requests to `/api/v2/ilove.svg` or `/api/v3/ilove.svg` with query parameters containing script tags, HTML entities, or suspicious payloads. Look for `Content-Type: image/svg+xml` responses from Netdata that may indicate the vulnerable endpoint was accessed. If running a WAF, create a rule to detect or block requests to these endpoints or to any SVG endpoint accepting parameters with script-like content. Endpoint detection and response (EDR) tools may flag JavaScript execution from unexpected browser origins if exploitation occurs.
Why prioritize this
This vulnerability merits timely remediation but is not critical. The CVSS score of 6.1 (Medium) reflects the need for user interaction and the limited direct impact (confidentiality and integrity, no availability impact). However, the default-accessible nature of the endpoints, the simplicity of the attack, and the relevance to organizations that rely on Netdata for security monitoring make it a practical concern. Prioritize patching Netdata instances in security-sensitive environments or those exposed to the internet; internal-only instances face lower risk but should still be updated in standard maintenance windows.
Risk score, explained
CVSS 3.1 score of 6.1 reflects: Attack Vector Network (AV:N)—unauthenticated, remote exploitability; Attack Complexity Low (AC:L)—no special conditions required; Privileges Required None (PR:N)—no authentication needed; User Interaction Required (UI:R)—victim must click a link; Scope Changed (S:C)—impact can cross origin boundaries; Confidentiality Low (C:L)—session data or dashboard info could be exfiltrated; Integrity Low (I:L)—attacker can modify page content as displayed; Availability None (A:N)—no denial of service impact. The Medium severity appropriately balances the ease of exploitation against the requirement for user interaction.
Frequently asked questions
Do we need to patch this immediately if our Netdata instance is behind a corporate firewall?
No, but you should include it in your next maintenance window. If Netdata is truly internal-only and users cannot be socially engineered into clicking untrusted links, the practical risk is low. However, if any users access the Netdata dashboard from untrusted networks (e.g., via VPN from home) or if the instance is exposed to the internet, prioritize patching within 30 days.
Can this vulnerability be exploited to steal credentials or gain code execution on the monitoring target?
No. XSS in the Netdata dashboard allows theft of browser session data, dashboard access, and any credentials stored in browser memory or local storage. It does not directly execute code on the server running Netdata or on systems Netdata monitors. However, if a user's Netdata session has API tokens or SSH keys configured, an attacker could potentially abuse those to interact with downstream systems.
How do we check which version of Netdata we are running?
Visit your Netdata web UI (usually http://<host>:19999), click Administration in the sidebar, then select About. The version string is displayed prominently. Alternatively, check the package version via command line: `dpkg -l | grep netdata` (Debian/Ubuntu) or `rpm -qa | grep netdata` (Red Hat/CentOS).
Are there any workarounds if we cannot upgrade immediately?
Yes. Restrict HTTP access to the Netdata port (19999) to trusted internal networks using firewall rules or a reverse proxy. You can also configure Netdata's ACL settings to disable anonymous access, though this requires configuration changes and does not address the vulnerability directly. However, no workaround is a substitute for upgrading.
This analysis is provided for informational purposes and represents SEC.co's assessment based on available technical data as of the publication date. CVSS scores and severity ratings are derived from official CVE records and should be contextualized within your organization's risk model and asset inventory. Patch version numbers and remediation guidance should be verified against official Netdata release notes and vendor advisories before deployment. Organizations should conduct testing in non-production environments and align patching timelines with their change management policies. No exploit code or weaponized proof-of-concept is provided or endorsed. Always consult with your security team and follow your incident response procedures if you suspect active exploitation. Source: NVD (public-domain), retrieved 2026-08-11. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- 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
- CVE-2019-25744MEDIUMWordPress Popup Builder 3.49 Stored XSS Vulnerability – Exploit Prevention & Patch Guide