Summary
CVE-2026-101090 is a Host header injection / open redirect vulnerability in Nezha Monitoring’s OAuth2 login endpoint. When the optional dashboard_host configuration setting is left empty, Nezha reflects the attacker-supplied HTTP Host header into the redirect_uri parameter sent to the OAuth2 identity provider, instead of falling back to the configured install_host. The issue is rated critical and can lead to theft of OAuth2 authorization codes and account takeover.
Technical details
- The endpoint
/api/v1/oauth2/{provider}(implemented incmd/dashboard/controller/oauth2.go) builds theredirect_urisent to the identity provider using the request’sHostheader wheneverdashboard_hostis not explicitly set. - An earlier fix (GHSA-9rc6-8cjv-rcvx) had correctly made the application fall back to the configured
install_hostin this situation; that fallback logic was lost when the newerdashboard_hostsetting was introduced, making this a regression of a previously patched issue. - Attack vector: an attacker crafts a request (or lures a victim into one) that reaches the Nezha dashboard with a forged
Hostheader, causing the OAuth2 flow to be initiated with an attacker-controlledredirect_uri. - If the OAuth2 identity provider accepts the forged redirect URI, the victim’s authorization code is delivered to the attacker-controlled origin.
- Impact: the attacker can complete the OAuth2 login/binding flow on the victim’s behalf, resulting in account takeover. No user privileges are required to exploit the flaw, and no user interaction beyond triggering the login flow is needed.
Affected software
- Nezha Monitoring (
nezhahq/nezha) version 2.2.3 and earlier, when thedashboard_hostsetting is left empty (unconfigured).
Severity
- CVSS v3.1 Base Score: 9.8 (Critical) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS v4.0 Score: 9.3 (Critical) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: At the time of publication, no patched release was available from the vendor. Monitor the
nezhahq/nezhaGitHub repository and security advisory (GHSA-rf68-8gjr-36q7) for a fixed version and upgrade as soon as one is released. - Workaround: Explicitly configure the
dashboard_hostsetting to a trusted, fixed value rather than leaving it empty. This prevents the application from falling back to reflecting the requestHostheader into the OAuth2redirect_uri. - Additional network mitigations: enforce strict
Hostheader validation at a reverse proxy or load balancer in front of the Nezha dashboard so forged Host headers cannot reach the application. - Review OAuth2 identity provider configuration to ensure it strictly validates the allowed
redirect_urivalues for registered applications, rather than accepting arbitrary values.

