Skip to content

netdata

v2.10.4 Security

This release includes 1 security fix for security teams reviewing exposed deployments.

Published 11d Monitoring & Metrics
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 1 known CVE

Topics

ai alerting cncf data-visualization database devops
+14 more
docker grafana influxdb kubernetes linux machine-learning mcp mongodb monitoring mysql netdata observability postgresql prometheus

Affected surfaces

breaking_upgrade

ReleasePort's take

Moderate signal
editorial:auto 11d

The /api/v3/settings endpoint now requires HTTP_ACL_DASHBOARD authentication, preventing anonymous users from making state‑changing requests.

Why it matters: Blocks unauthorized configuration changes via the settings API; critical for security teams managing access controls.

Summary

AI summary

Broad release touches https://github.com/stelfrag, Security and API, https://github.com/ktsaou, and Collectors.

Changes in this release

Security High

/api/v3/settings endpoint now gated behind HTTP_ACL_DASHBOARD, blocking anonymous state-changing requests

/api/v3/settings endpoint now gated behind HTTP_ACL_DASHBOARD, blocking anonymous state-changing requests

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Added macOS hardware sensor collectors: GPU power, clock, temperatures, NVMe SMART, with `powermetrics` fallback via `ndsudo`

Added macOS hardware sensor collectors: GPU power, clock, temperatures, NVMe SMART, with `powermetrics` fallback via `ndsudo`

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Added bounded‑cardinality process grouping for `apps.plugin` on macOS to keep per‑process monitoring meaningful with high process churn

Added bounded‑cardinality process grouping for `apps.plugin` on macOS to keep per‑process monitoring meaningful with high process churn

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix High

Hardened DBENGINE against corrupted or truncated data files with validation and protection mechanisms

Hardened DBENGINE against corrupted or truncated data files with validation and protection mechanisms

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix High

Fixed page‑cache races, deadlock on dimension creation, and crash on virtual node takeover in DBENGINE

Fixed page‑cache races, deadlock on dimension creation, and crash on virtual node takeover in DBENGINE

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix High

Rotated active datafile and requeued pending extent on unrecoverable write errors, preventing DBENGINE stall on failing disk

Rotated active datafile and requeued pending extent on unrecoverable write errors, preventing DBENGINE stall on failing disk

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

Fixed buffer overflows and counter‑size issues in platform collectors (macOS mach_smi, FreeBSD ipfw, freeipmi)

Fixed buffer overflows and counter‑size issues in platform collectors (macOS mach_smi, FreeBSD ipfw, freeipmi)

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

Bounded alert notification execution wait so stuck scripts cannot block progress and fixed shutdown race restoring alerts from DB

Bounded alert notification execution wait so stuck scripts cannot block progress and fixed shutdown race restoring alerts from DB

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

Prevented rare one‑core CPU spins in cloud‑connection loops and avoided returning uninitialized `packet_id` on publish failure (ACLK)

Prevented rare one‑core CPU spins in cloud‑connection loops and avoided returning uninitialized `packet_id` on publish failure (ACLK)

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

Fixed `csvjsonarray` output format emitting invalid JSON when `label-quotes` is passed

Fixed `csvjsonarray` output format emitting invalid JSON when `label-quotes` is passed

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

Fixed internal race conditions: TOCTOU in `dictionary_destroy()`, ARAL allocator races, and double‑free issues

Fixed internal race conditions: TOCTOU in `dictionary_destroy()`, ARAL allocator races, and double‑free issues

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Low

Validated data loaded from SQLite to prevent crashes on corrupted databases and improved UUID handling and error reporting in SQLite functions

Validated data loaded from SQLite to prevent crashes on corrupted databases and improved UUID handling and error reporting in SQLite functions

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Kept chart indexes allocated while a host is archived and guarded against null root index in chart lookups, avoiding null dereferences during queries

Kept chart indexes allocated while a host is archived and guarded against null root index in chart lookups, avoiding null dereferences during queries

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Fixed rrdcontext metadata leak on non‑DBENGINE hosts

Fixed rrdcontext metadata leak on non‑DBENGINE hosts

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Tracked and accounted memory allocation size in replication queries, fixed sender replication counter leak on obsolete charts

Tracked and accounted memory allocation size in replication queries, fixed sender replication counter leak on obsolete charts

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Rejected oversized ZSTD frames and handled decompression errors gracefully (log and fail connection instead of fatal)

Rejected oversized ZSTD frames and handled decompression errors gracefully (log and fail connection instead of fatal)

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Fixed streaming receiver discarding already‑delivered data when a child disconnects

Fixed streaming receiver discarding already‑delivered data when a child disconnects

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Added safeguards against ML database corruption and streamlined the recovery process

Added safeguards against ML database corruption and streamlined the recovery process

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Fixed `systemd-journal.plugin` memory retention after queries and its `apps.plugin` accounting

Fixed `systemd-journal.plugin` memory retention after queries and its `apps.plugin` accounting

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Fixed file descriptor accounting in `apps.plugin` (adding `nfds` monitoring) and eBPF FD PID map iteration

Fixed file descriptor accounting in `apps.plugin` (adding `nfds` monitoring) and eBPF FD PID map iteration

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Fixed Windows Events row rendering crashes with stricter size checks, safer XML parsing, and robust variant handling

Fixed Windows Events row rendering crashes with stricter size checks, safer XML parsing, and robust variant handling

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Restored stable temperature and power collection in `go.d/nvidia_smi` with NVIDIA driver 580 XML output variants

Restored stable temperature and power collection in `go.d/nvidia_smi` with NVIDIA driver 580 XML output variants

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Fixed Windows hardware detection so virtual machines are no longer reported as bare metal

Fixed Windows hardware detection so virtual machines are no longer reported as bare metal

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Moved the fail2ban socket path into `ndsudo` for `go.d/fail2ban`

Moved the fail2ban socket path into `ndsudo` for `go.d/fail2ban`

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Low

Fixed a pluginsd cleanup race with an active collector, added slot bounds check to the pluginsd parser, and initialized mountpoint state before slow worker in diskspace plugin

Fixed a pluginsd cleanup race with an active collector, added slot bounds check to the pluginsd parser, and initialized mountpoint state before slow worker in diskspace plugin

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Full changelog

Release notes

Netdata v2.10.4 is a patch release to address issues discovered since v2.10.3.

This is a larger-than-usual patch release focused on stability, memory safety, and crash resilience across the database engine, streaming, Cloud connectivity, and collectors. It also backports the new macOS hardware sensor collectors to the 2.10.x line.

New in this release

  • macOS hardware sensor collectors: GPU power, clock, and temperatures, SMC and IOHID sensors and fans, power sources and thermal pressure, NVMe SMART, with a powermetrics fallback via ndsudo, plus a cross-OS sensors function and a shared temperature-histogram context (#22475, #23085, @ktsaou)
  • Bounded-cardinality process grouping for apps.plugin on macOS, keeping per-process monitoring meaningful on hosts with high process churn (#23085, @ktsaou)

Database engine and metadata

  • Hardened DBENGINE against corrupted or truncated data files: extent disk-size and uncompressed-page-bounds validation, SIGBUS protection and header-offset bounds checks on v2 journal walks, improved journal file access error handling, and spinlock-holder identification for datafile/journal deadlock diagnostics (#22324, #22514, #22310, #22725, @stelfrag; #22666, @jmestwa-coder)
  • Fixed page-cache races in pgc_page_add and pgc_queue_del, a deadlock on dimension creation, and a crash on virtual node takeover (#22466, #22400, #22417, @stelfrag)
  • Validated data loaded from SQLite to prevent crashes on corrupted databases, and improved UUID handling and error reporting in SQLite functions (#22679, #22233, @stelfrag)
  • Kept chart indexes allocated while a host is archived and guarded against a null root index in chart lookups, avoiding null dereferences during queries (#23074, #23056, @stelfrag)
  • Fixed an rrdcontext metadata leak on non-dbengine hosts (#22438, @stelfrag)
  • Rotated the active datafile and requeued the pending extent on unrecoverable write errors, so a failing disk no longer stalls the database engine (#23048, @ktsaou)

Streaming and replication

  • Tracked and accounted memory allocation size in replication queries, and fixed a sender replication counter leak on obsolete charts (#22756, #22428, @stelfrag)
  • Rejected oversized ZSTD frames and handled decompression errors gracefully (log and fail the connection instead of fatal()) (#22830, @stelfrag)
  • Fixed the streaming receiver discarding already-delivered data when a child disconnects (#23118, @ktsaou)

Cloud connectivity (ACLK)

  • Prevented rare unbounded one-core CPU spins in the cloud-connection loops, and avoided returning an uninitialized packet_id on publish failure (#22879, @ktsaou; #22504, @stelfrag)

Alerts and machine learning

  • Bounded the alert notification execution wait so a stuck notification script cannot block progress, and fixed a shutdown race when restoring alert information from the database (#22626, #22448, @stelfrag)
  • Added safeguards against ML database corruption and streamlined the recovery process (#22478, @stelfrag)

Collectors

  • Fixed systemd-journal.plugin memory retention after queries and its apps.plugin accounting (#23089, @ktsaou)
  • Fixed file descriptor accounting in apps.plugin (adding nfds monitoring) and eBPF FD PID map iteration (#22447, @arch-yunus; #22436, @stelfrag)
  • Fixed buffer overflows and counter-size issues in platform collectors: a stack buffer overflow in macOS mach_smi, FreeBSD counter size mismatches and an off-by-one in freebsd_ipfw and the claim code, and a freeipmi.plugin watchdog underflow at low system uptime (#22553, @artem; #23044, @DavidMarec; #22710, @vkalintiris; #22490, @ktsaou)
  • Fixed Windows Events row rendering crashes with stricter size checks, safer XML parsing, and robust variant handling (#22872, @ktsaou)
  • Restored stable temperature and power collection in go.d/nvidia_smi with NVIDIA driver 580 XML output variants (#23047, @copilot-swe-agent)
  • Fixed Windows hardware detection so virtual machines are no longer reported as bare metal (#22942, @thiagoftsm)
  • Moved the fail2ban socket path into ndsudo for go.d/fail2ban (#22745, @ilyam8)
  • Fixed a pluginsd cleanup race with an active collector, added a slot bounds check to the pluginsd parser, and initialized mountpoint state before the slow worker in the diskspace plugin (#22207, #22598, #22298, @stelfrag)

Security and API

  • The /api/v3/settings endpoint is now gated behind HTTP_ACL_DASHBOARD instead of HTTP_ACL_NOCHECK, enforcing connection allowlists and blocking anonymous state-changing requests (#22896, @stelfrag)
  • Fixed the csvjsonarray output format emitting invalid JSON when label-quotes is passed (#23115, @ktsaou)

Core stability and memory safety

Installation and packaging

  • Windows: fixed MSI installer issues, adjusted the installer to run claiming only when both the token and rooms are provided (with safer wide-character handling and a capped HTTP claim response size), and fixed the search for Visual Studio tooling to check for multiple versions (#22751, #22754, @thiagoftsm; #22723, @Ferroin)
  • Improved error handling in netdata-updater when fetching files and silenced curl output (#22422, @Ferroin; #22639, @AJCxZ0)

Support options

As we grow, we stay committed to providing the best support ever seen from an open-source solution. Should you encounter an issue with any of the changes made in this release or any feature in the Netdata Agent, feel free to contact us through one of the following channels:

  • Netdata Learn: Find documentation, guides, and reference material for monitoring and troubleshooting your systems with Netdata.
  • GitHub Issues: Make use of the Netdata repository to report bugs or open a new feature request.
  • GitHub Discussions: Join the conversation around the Netdata development process and be a part of it.
  • Community Forums: Visit the Community Forums and contribute to the collaborative knowledge base.
  • Discord Server: Jump into the Netdata Discord and hang out with like-minded sysadmins, DevOps, SREs, and other troubleshooters. More than 2000 engineers are already using it!

Security Fixes

  • /api/v3/settings now gated behind HTTP_ACL_DASHBOARD (prevents anonymous state‑changing requests).

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track netdata

Get notified when new releases ship.

Sign up free

About netdata

The fastest path to AI-powered full stack observability, even for lean teams.

All releases →

Related context

Beta — feedback welcome: [email protected]