Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain/compromise authenticated streaming child
-
DeliverySend CHART line with oversized SLOT value
-
Exploitstr2ull_encoded accepts unbounded slot
-
Executionreallocz requests ~16GiB chart array
-
PersistAllocation fails, fatal aborts parent
-
ImpactReplay to persistently down centralized monitoring
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Off-by-one prevention
|
| Exploitation Conditions | Requires an authenticated child agent with active streaming access to the target parent Netdata agent (the parent-child streaming/replication feature must be in use and the malicious child must be accepted into the streaming topology). The attacker then sends an oversized CHART SLOT value in the pluginsd streaming protocol. Limiting factors: PR:L means the attacker must control or compromise a streaming child rather than being an anonymous remote user; deployments where only fully trusted children stream to the parent, or standalone/non-streaming agents, are not exposed. Affects versions prior to 2.10.4 (fixed in 2.10.4 and nightly 2.10.0-782). |
| Impact | This is a genuine but bounded availability issue, not a top-tier priority. The vendor CVSS 6.5 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H) is well-calibrated: network vector and low complexity, but PR:L is doing real limiting work - exploitation requires an AUTHENTICATED streaming child agent already accepted into the parent's streaming topology, so the attacker must control or compromise a child node, not merely reach the network. Impact is pure availability (C:N/I:N/A:H): a repeatable fatal-abort of the parent that persistently disables centralized monitoring, which is serious in an observability/blind-spot sense but involves no data disclosure or code execution. No EPSS score, no CISA KEV listing, and no public POC were provided; per precision rules this is 'no public exploit identified at time of analysis.' Signals are consistent rather than conflicting - the only metadata problem is the 'Information Disclosure' tag, which directly contradicts the C:N/I:N/A:H vector (this is a denial-of-service, CWE-193 numeric mishandling driving an oversized allocation). Net: patch in due course, prioritized by whether untrusted or lower-trust children can stream to a given parent; not an emergency for isolated/trusted streaming deployments. |
| Exploit ScenarioDerived | An attacker who controls or has compromised a Netdata child agent that streams to a parent sends a crafted pluginsd CHART line with an oversized SLOT value; str2ull_encoded accepts it unbounded and drives reallocz toward a ~16 GiB chart-pointer array, whose allocation failure triggers fatal and aborts the parent agent. The attacker replays this whenever the parent restarts, keeping centralized monitoring down while stream access persists. No public POC is referenced, but the trigger is a single malformed streaming line and complexity is low (AC:L). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
A denial of service in Netdata Agent versions prior to 2.10.4 lets an authenticated streaming child agent crash the parent Netdata agent that collects its metrics, repeatedly disabling centralized monitoring. Per the assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H, 6.5), the attacker must already be an accepted child in the parent-child streaming topology and then sends an oversized CHART SLOT value in the plugins.d streaming protocol; the parent parses it as a chart-cache index, attempts an approximately 16 GiB allocation for the chart-pointer array, fails, and aborts via fatal(). There is no confidentiality or integrity impact, and no public exploit code has been identified at time of analysis (the vulnerability is not in CISA KEV); the real risk is bounded and operational, concentrated in deployments that accept streaming children and in multitenant or partially trusted streaming setups.
RemediationAI
Vendor-released patch: upgrade to Netdata Agent 2.10.4 (or the nightly build 2.10.0-782-nightly or later), which caps accepted SLOT values at PLUGINSD_CHART_SLOT_MAX/PLUGINSD_DIMENSION_SLOT_MAX and rejects oversized or malformed slot indices - see the advisory at https://github.com/netdata/netdata/security/advisories/GHSA-3mxw-fv2x-rhc6 and the release at https://github.com/netdata/netdata/releases/tag/v2.10.4. If upgrading immediately is not possible, apply compensating controls that reduce the blast radius rather than eliminate the bug: restrict which children may stream to the parent using per-child API keys and firewall/IP allowlists so an outside host cannot register as a child (trade-off: key rotation and ACL maintenance, and it does not help if the malicious child is itself legitimate); segment the streaming network so a crashing parent does not take down unauthenticated or local monitoring consumers (trade-off: added infrastructure, no fix to the crash itself); and monitor agent logs for repeated fatal aborts and for the fix's warning string "PLUGINSD: ignoring invalid SLOT value" to detect attempts early (trade-off: detection only, after the restart loop has begun). Disabling the parent-child streaming feature entirely removes exposure, but it also removes centralized monitoring - the same operational outcome the attacker is trying to cause - so treat that as a last resort and prefer patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Netdata's parent-child streaming (replication) protocol carries commands such as CHART, DIMENSION and SET in a plugins.d line-based format, sometimes with an optional SLOT token used as a fast index into the parent's chart/dimension pointer caches. The vulnerable parser helper pluginsd_parse_rrd_slot() converted the numeric text after "SLOT:" with str2ull_encoded() and cast it directly to ssize_t with no upper-bound check, so a large value (for example 0x40000000) was accepted as a slot index. That value flowed into pluginsd_rrdset_cache_put_to_slot() in src/plugins.d/pluginsd_internals.h and the supporting array logic in src/database/rrdset-pluginsd-array.h, causing reallocz() to size a chart-pointer array of roughly 16 GiB; when that allocation failed, the code path invoked fatal() and terminated the parent agent. Because streaming access survives the abort, the child can simply reconnect and repeat the crash. The advisory assigns CWE-193 (off-by-one error), though the practically relevant defect class is missing validation/upper bound on an externally supplied index leading to an excessive-size allocation (CWE-789-like); the accepted slot drives the allocation size rather than a single-element boundary slip. The upstream fix (PR #22598, commit 034a774f689ac01488fc261ca729ce0875819b1b) adds an explicit max_slot parameter to pluginsd_parse_rrd_slot() with compile-time caps PLUGINSD_CHART_SLOT_MAX and PLUGINSD_DIMENSION_SLOT_MAX for every caller (CHART, DIMENSION, SET, and the v2 BEGIN/SET paths). Values above the cap are logged and downgraded to slot 0, which makes chart lookups fall back to lookup-by-id and dimension caching fall back to the by-position (non-slotted) path; the patch also adds an internal_fatal() overflow guard in the pluginsd_rrddim_array sizing math and a unit test covering boundary cases such as ":-1", ":abc", ":0x0AAAAAAAAAAAAAAB", ":0xFFFFFFFFFFFFFFFF" and ":0x40000000".
Know when Netdata gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Network-reachable streaming protocol with low complexity, but requires an authenticated child (PR:L); impact is a repeatable parent crash so A:H only, C/I:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Netdata is an open source observability tool. Prior to 2.10.4, an authenticated child agent can send an oversized CHART SLOT value that str2ull_encoded passes to pluginsd_rrdset_cache_put_to_slot in src/plugins.d/pluginsd_internals.h. The accepted slot drives reallocz to request an approximately 16 GiB chart-pointer array, and allocation failure invokes fatal and aborts the parent Netdata agent, repeatedly disabling centralized monitoring while stream access persists. This issue is fixed in version 2.10.4 and nightly build 2.10.0-782-nightly.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Netdata is an open source option for real-time infrastructure monitoring and troubleshooting. Rated critical severity (C
Netdata is an open source option for real-time infrastructure monitoring and troubleshooting. Rated critical severity (C
The Netdata web application through 1.13.0 allows remote attackers to inject their own malicious HTML code into an impor
Local privilege escalation to root in Netdata versions prior to 2.10.4: the setuid-root ndsudo helper command fail2ban-c
Local privilege escalation in the Netdata Windows Agent (versions 2.0.0 through 2.10.3) allows an authenticated low-priv
Memory exhaustion in Netdata versions prior to 2.11.0 allows a remote, unauthenticated attacker to inflate small, highly
Local privilege escalation in the Netdata Windows Agent (versions 2.0.0 through 2.10.3) lets an authenticated low-privil
An authenticated Netdata child agent can crash its parent agent by streaming an oversized DIMENSION SLOT value in the pl
Unauthenticated writes to the Netdata settings store are possible in versions 2.0.0 through 2.10.x because the /api/v3/s
Reflected XSS in Netdata before 2.3.1 allows unauthenticated network attackers to inject and execute arbitrary JavaScrip
EUVD-2026-84566
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB