CVE-2026-102748: Dgraph: Zero Unauthenticated HTTP Admin removeNode Denial of Service
Dgraph is an open source distributed GraphQL database. Prior to 25.4.0, Dgraph Zero registers administrative HTTP routes on port 6080 without authentication when the administrative interface is enabled. The /removeNode route accepts attacker-controlled id and group values and passes them to Server.RemoveNode, where group 0 can trigger ProposePeerRemoval. A remote unauthenticated attacker who can reach the Zero HTTP port can read topology through /state, allocate identifiers through /assign, access the exposed /moveTablet administrative route, or remove membership through /removeNode, disrupting the Zero control plane and destabilizing Alpha nodes that depend on Zero. The route registration occurs in dgraph/cmd/zero/run.go, and the demonstrated membership-removal path reaches Server.RemoveNode and ProposePeerRemoval. This issue is fixed in version 25.4.0.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Dgraph Zeroto a version that resolves this vulnerability.Fixed in 25.4.0
Event History
Frequently Asked Questions
Which deployments are exposed?
Dgraph Zero instances prior to 25.4.0 are exposed when their administrative interface is enabled and an attacker can reach the Zero HTTP service on port 6080. The attacker does not need to authenticate.
What can an unauthenticated attacker do through the exposed service?
An attacker can query topology through /state, allocate identifiers through /assign, access /moveTablet, and invoke /removeNode. Supplying attacker-controlled id and group values to /removeNode can remove membership and disrupt the Zero control plane, destabilizing dependent Alpha nodes.
What should be done if upgrading cannot happen immediately?
Prevent untrusted network access to the Zero HTTP port 6080 and disable the administrative interface where possible. The issue depends on the administrative routes being enabled and reachable.
How can I determine whether the vulnerable administrative routes are exposed?
Check whether the Zero administrative interface is enabled and whether port 6080 is reachable by untrusted hosts. The affected route set includes /state, /assign, /moveTablet, and /removeNode.