# CVE-2026-54061: Dgraph Alpha missing authentication for external snapshot import

Source: https://junglewise.ai/threats/cve-2026-54061-dgraph-alpha-missing-authentication-for-external-snapshot-import  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-08. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-54061 · Severity: critical · CVSS 9.1 · Published 2026-07-08

Dgraph Alpha, a distributed graph database, exposes snapshot import functionality on its public network port without requiring authentication or authorization. An unauthenticated attacker with network access can clear an entire database group or replace it with attacker-controlled data, causing complete data loss and potential privilege escalation in systems using access control lists.

Technologies: [Dgraph Labs Dgraph](https://junglewise.ai/threats/technologies/dgraph), [github.com/dgraph-io/dgraph (Go)](https://junglewise.ai/threats/technologies/github-com-dgraph-io-dgraph), [github.com/dgraph-io/dgraph/v25 (Go)](https://junglewise.ai/threats/technologies/github-com-dgraph-io-dgraph-v25). Vendors: [Dgraph Labs](https://junglewise.ai/threats/vendors/dgraph-labs), [Go](https://junglewise.ai/threats/vendors/go).

## Quick answers

**Is CVE-2026-54061 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-54061 being exploited in the wild.

**How severe is CVE-2026-54061?** Critical severity, with a CVSS score of 9.1, published 8 July 2026.

**Which products and versions are affected?** Dgraph Labs Dgraph < 25.3.5; github.com/dgraph-io/dgraph (Go) SEMVER:introduced=0; github.com/dgraph-io/dgraph/v25 (Go) <= 25.3.4, SEMVER:introduced=0,fixed=25.3.5.

**Is there a fix for CVE-2026-54061?** Yes. github.com/dgraph-io/dgraph/v25 (Go): upgrade to 25.3.5 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-54061 attacked?** It is attacked over the network, in a hosted service.

**Am I affected by CVE-2026-54061?** Check whether you run Dgraph Labs Dgraph, github.com/dgraph-io/dgraph (Go) or github.com/dgraph-io/dgraph/v25 (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/dgraph-io/dgraph/v25 (Go): upgrade to 25.3.5 or later

  ```sh
  go get github.com/dgraph-io/dgraph/v25@v25.3.5
  ```


## Technical details

The vulnerability is a missing authentication check (CWE-306) in the StreamExtSnapshot gRPC streaming RPC handler. The RPCs used for external snapshot import are exposed through Alpha's public gRPC service on port 9080, but no administrator authorization verification occurs before destructive storage operations. Streaming RPCs lack a stream interceptor, and handlers do not perform authorization checks. An unauthenticated client that can reach the public gRPC port can initiate the import flow without prior state setup. Dgraph calls Badger's StreamWriter.Prepare() on the target group store, which deletes the existing database before consuming stream packets. An attacker can send an empty stream (Done flag only) to clear a group, or send valid Badger stream chunks to replace it with attacker data. In ACL-enabled deployments, group 1 contains ACL and internal predicates, enabling privilege escalation via replacement. No user interaction is required; the attack requires only network reachability to port 9080 and absence of mTLS or auth-token configuration.

## Affected products

- Dgraph Dgraph <= 25.3.4

## Identifiers

- CVE-2026-54061
- GHSA-rrwh-6jrq-wp5v
- GO-2026-6261

## Timeline

- 2026-08-20: disclosed: Advisory published by GitHub
- 2026-08: patched: Patch released in version 25.3.5

## References

- [https://api.github.com/users/u-ktdi](https://api.github.com/users/u-ktdi)
- [https://github.com/u-ktdi](https://github.com/u-ktdi)
- [https://api.github.com/users/u-ktdi/gists%7B/gist_id%7D](https://api.github.com/users/u-ktdi/gists%7B/gist_id%7D)
- [https://api.github.com/users/u-ktdi/repos](https://api.github.com/users/u-ktdi/repos)
- [https://avatars.githubusercontent.com/u/159008191?v=4](https://avatars.githubusercontent.com/u/159008191?v=4)
- [https://api.github.com/users/u-ktdi/events%7B/privacy%7D](https://api.github.com/users/u-ktdi/events%7B/privacy%7D)

## Related threats

- [Dgraph Zero unauthenticated HTTP admin denial of service](https://junglewise.ai/threats/cve-2026-102748-dgraph-zero-unauthenticated-http-admin-removenode-denial-of)
- [Dgraph DQL injection in checkUserPassword GraphQL query](https://junglewise.ai/threats/cve-2026-44840-dgraph-dql-injection-in-checkuserpassword-graphql-query)
- [GO-2026-5675 - Unauthenticated admin token disclosure via /debug/vars in github.com/dgraph-io/dgraph](https://junglewise.ai/threats/cve-2026-41492-dgraph-unauthenticated-admin-token-disclosure-leading-to)
- [GO-2026-5749 - DQL injection via unsanitized NQuad Lang field in github.com/dgraph-io/dgraph](https://junglewise.ai/threats/cve-2026-41328-dgraph-pre-auth-full-database-exfiltration-via-dql-injection-in)
- [GO-2026-5516 - Pre-Auth DQL injection in upsert condition field in github.com/dgraph-io/dgraph](https://junglewise.ai/threats/cve-2026-41327-dgraph-pre-auth-full-database-exfiltration-via-dql-injection-in)
