Read the docs

Race condition in Nezha dashboard lets a member crash the process

Priority MEDIUM 62CWE-362Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-476.

Summary

Nezha Monitoring from 2.2.7 before 2.2.11 is affected. A race condition in the service sentinel worker lets a service be deleted while its results are still being processed, causing a nil pointer dereference (CWE-476) that crashes the dashboard process. A member with low privileges can trigger this by reporting TCP or ICMP results through their own agent while deleting the same owned service, disrupting the web interface, REST API and agent connections for every tenant. The issue affects availability only and does not disclose or modify data.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

Nezha Monitoring is a self-hostable, lightweight, servers and websites monitoring and O&M tool. From 2.2.7 until 2.2.11, ServiceSentinel.worker in service/singleton/servicesentinel.go checked an owned service under servicesLock and later dereferenced pointer-valued serviceStatusToday and serviceCurrentStatusData entries under serviceResponseDataStoreLock without revalidating that ServiceSentinel.Delete had not removed them. A RoleMember could concurrently report TCP or ICMP results through the member's own agent and delete the same owned service, causing a nil pointer dereference. Because the gRPC server had no recovery interceptor, the worker panic terminated the whole dashboard process and disrupted every tenant's web interface, REST API, and agent connections. The issue affects availability only and does not disclose or modify data. This issue is fixed in versions 2.2.11 and 2.3.0.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00498 42nd percentileScored 2026-11-07
Fix Fixed nezha (nezhahq): 2.2.11github.com/nezhahq/nezha (Go): 0.0.0-20260721131105-c893aa57867d

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
nezhahqnezha2.2.7 to before 2.2.112.2.11Patch availableCNA
—github.com/nezhahq/nezha (Go)0.0.0-20260628010923-fd31e5f1b0f8 to before 0.0.0-20260721131105-c893aa57867d0.0.0-20260721131105-c893aa57867dPatch availableGHSA-qjpp-gffx-2wm9
  • nezha Vendornezhahq Affected 2.2.7 to before 2.2.11 Fixed in 2.2.11 Patch available CNA
  • github.com/nezhahq/nezha (Go) Vendor— Affected 0.0.0-20260628010923-fd31e5f1b0f8 to before 0.0.0-20260721131105-c893aa57867d Fixed in 0.0.0-20260721131105-c893aa57867d Patch available GHSA-qjpp-gffx-2wm9

Remediation

Upgrade Nezha Monitoring to version 2.2.11 or 2.3.0, which fix this issue. For the Go module github.com/nezhahq/nezha, use version 0.0.0-20260721131105-c893aa57867d.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA nezha (nezhahq) Fixed in 2.2.11
  • Fix · GHSA-qjpp-gffx-2wm9 github.com/nezhahq/nezha (Go) Fixed in 0.0.0-20260721131105-c893aa57867d Advisory →

Timeline

  1. 2026-10-14 Threatist record created from CVE-2026-100394
  2. 2026-10-16 Alias added: GHSA-qjpp-gffx-2wm9
  3. 2026-10-16 Fix available: Go/github.com/nezhahq/[email protected] · GHSA-qjpp-gffx-2wm9
  4. 2026-10-16 CVSS score added · GHSA-qjpp-gffx-2wm9
  5. 2026-10-16 Weakness changed · GHSA-qjpp-gffx-2wm9
  6. 2026-10-16 6 new references · GHSA-qjpp-gffx-2wm9
  7. 2026-10-16 Priority changed: MEDIUM → LOW
  8. 2026-10-29 CISA SSVC decision points changed
  9. 2026-10-29 Priority changed: LOW → MEDIUM

References

  • TI-2026-65123 Nezha through 2.2.3 Host Header Injection via OAuth2 redirect_uri CVSS 4.0CRITICAL 9.3
  • TI-2026-34341 Nezha Monitoring: RoleMember can run shell on every server (cross-tenant RCE) via POST /api/v1/cron CVSS 3.1CRITICAL 9.9
  • TI-2026-34342 Nezha Monitoring: RoleMember-reachable SSRF with full response-body reflection via POST /api/v1/notification CVSS 3.1HIGH 7.7
  • TI-2026-38597 Nezha Monitoring: OAuth2 Redirect URL — Host Header Injection CVSS 3.1MEDIUM 6.8
  • TI-2026-75131 Memory exhaustion in Nezha file manager WebSocket endpoint CVSS 4.0HIGH 7.1
  • TI-2026-75130 Nezha WebSocket transfer endpoint flaw enables denial of service CVSS 4.0HIGH 7.1
See all 29 →

Sources