Race condition in Nezha dashboard lets a member crash the process
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| nezhahq | nezha | 2.2.7 to before 2.2.11 | 2.2.11 | Patch available | CNA |
| — | github.com/nezhahq/nezha (Go) | 0.0.0-20260628010923-fd31e5f1b0f8 to before 0.0.0-20260721131105-c893aa57867d | 0.0.0-20260721131105-c893aa57867d | Patch available | GHSA-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
- 2026-10-14 Threatist record created from CVE-2026-100394
- 2026-10-16 Alias added: GHSA-qjpp-gffx-2wm9
- 2026-10-16 Fix available: Go/github.com/nezhahq/[email protected] · GHSA-qjpp-gffx-2wm9
- 2026-10-16 CVSS score added · GHSA-qjpp-gffx-2wm9
- 2026-10-16 Weakness changed · GHSA-qjpp-gffx-2wm9
- 2026-10-16 6 new references · GHSA-qjpp-gffx-2wm9
- 2026-10-16 Priority changed: MEDIUM → LOW
- 2026-10-29 CISA SSVC decision points changed
- 2026-10-29 Priority changed: LOW → MEDIUM
References
More nezhahq vulnerabilities
- 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
Sources
- CVE-2026-100394 · CVE Program
- CVE-2026-100394 · NVD
- FIRST EPSS
- GHSA-qjpp-gffx-2wm9 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences