Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-47268

CVE-2026-47268: Nezha Monitoring SSRF Vulnerability

CVE-2026-47268 is a server-side request forgery flaw in Nezha Monitoring that lets authenticated users send HTTP requests to internal services. This article covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-47268 Overview

CVE-2026-47268 is a Server-Side Request Forgery (SSRF) vulnerability in Nezha Monitoring, a self-hosted server and website monitoring tool. The flaw affects versions from 0.20.0 up to but not including 2.0.10. An authenticated dashboard user can create or update a DDNS profile with a provider webhook and configure an arbitrary webhook_url, HTTP method, request body, and headers. When DDNS triggers for a server using that profile, the dashboard issues the request through utils.HttpClient without the SSRF protections applied to notification webhooks. The vulnerability is tracked under [CWE-918] Server-Side Request Forgery.

Critical Impact

A low-privileged authenticated user can force the dashboard host to issue HTTP requests to loopback or internal network services, enabling blind SSRF and internal state-changing operations.

Affected Products

  • Nezha Monitoring version 0.20.0 and later
  • Nezha Monitoring versions prior to 2.0.10
  • Self-hosted Nezha dashboard deployments exposing DDNS provider webhook configuration

Discovery Timeline

  • 2026-06-12 - CVE-2026-47268 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2026-47268

Vulnerability Analysis

Nezha Monitoring exposes a DDNS profile configuration that allows users to define a custom provider webhook. The profile accepts a fully user-controlled webhook_url, HTTP method, request body, and arbitrary headers. When a server bound to the profile triggers a DDNS update, the dashboard process dispatches the configured HTTP request server-side. The request is sent using utils.HttpClient, which lacks the host and address filtering applied to standard notification webhook code paths.

The response body is not returned to the requesting user along the confirmed code path. This restricts data exfiltration but still enables a blind SSRF primitive. An attacker can target loopback interfaces, link-local metadata endpoints, or internal services reachable from the dashboard host.

Root Cause

The root cause is inconsistent enforcement of SSRF protections across HTTP client usages. The notification webhook path validates destination addresses, but the DDNS provider webhook path invokes utils.HttpClient directly without equivalent guards. This bypass allows internal addresses to be reached from a low-privileged authenticated context that controls an owned server or DDNS profile.

Attack Vector

An authenticated user with permission to manage a server and its DDNS profile sets the provider webhook fields to point at an internal target such as http://127.0.0.1:<port>/ or a private RFC1918 address. The attacker then induces a DDNS event for a server bound to that profile. The dashboard process issues the configured request, including attacker-supplied method, headers, and body, against the internal endpoint. This enables interaction with administrative interfaces, cloud metadata services, or unauthenticated internal APIs co-located with the dashboard host.

No verified proof-of-concept code is published. See the GitHub Security Advisory for vendor technical details.

Detection Methods for CVE-2026-47268

Indicators of Compromise

  • Outbound HTTP requests from the Nezha dashboard process targeting loopback (127.0.0.0/8), link-local (169.254.0.0/16), or RFC1918 ranges
  • DDNS profile records with webhook_url values referencing internal hostnames, private IPs, or metadata endpoints such as 169.254.169.254
  • Unexpected HTTP methods (PUT, DELETE, POST) originating from the dashboard process toward internal services

Detection Strategies

  • Audit the Nezha database for DDNS profiles with non-public webhook_url targets and review the configured method, headers, and body
  • Inspect dashboard egress logs for HTTP traffic to private address space that correlates with DDNS trigger events
  • Alert on access attempts to cloud instance metadata services originating from the host running the Nezha dashboard

Monitoring Recommendations

  • Enable verbose HTTP client logging in Nezha and forward logs to a centralized SIEM for correlation
  • Monitor authenticated user activity that creates or updates DDNS profiles, especially from low-privileged accounts
  • Apply egress firewall rules and log denied connections from the dashboard host to internal subnets

How to Mitigate CVE-2026-47268

Immediate Actions Required

  • Upgrade Nezha Monitoring to version 2.0.10 or later, which contains the SSRF fix
  • Review all existing DDNS profiles and remove or correct any webhook_url values pointing at internal addresses
  • Restrict dashboard user registration and DDNS profile creation to trusted administrators until patched

Patch Information

The issue is patched in Nezha Monitoring version 2.0.10. The fix aligns the DDNS provider webhook code path with the SSRF protections already enforced on notification webhooks. Refer to the GitHub Security Advisory GHSA-6x26-5727-rrm9 for release details.

Workarounds

  • Block outbound traffic from the dashboard host to loopback, link-local, and RFC1918 ranges using host or network firewall rules
  • Run the Nezha dashboard in an isolated network segment with no route to sensitive internal services or cloud metadata endpoints
  • Disable DDNS functionality or remove provider webhook profiles until the upgrade is applied
bash
# Example egress restriction using iptables on the dashboard host
iptables -A OUTPUT -m owner --uid-owner nezha -d 127.0.0.0/8 -j REJECT
iptables -A OUTPUT -m owner --uid-owner nezha -d 169.254.0.0/16 -j REJECT
iptables -A OUTPUT -m owner --uid-owner nezha -d 10.0.0.0/8 -j REJECT
iptables -A OUTPUT -m owner --uid-owner nezha -d 172.16.0.0/12 -j REJECT
iptables -A OUTPUT -m owner --uid-owner nezha -d 192.168.0.0/16 -j REJECT

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.