Horizon Alert
Summary of the vulnerability and why it matters
This advisory concerns a critical vulnerability in Dgraph, an open-source distributed GraphQL database. Prior to a recent update, an unauthenticated network client could import external data, potentially overwriting existing databases without authorization. The main concern is confirming relevance and exposure to this database technology.
- Unauthenticated data import can overwrite databases.
- It affects distributed GraphQL database technology.
- Confirm if Dgraph is used and exposed.
Attack Path
How an attacker could exploit the issue
An attacker can exploit this vulnerability by remotely connecting to a Dgraph Alpha instance's public gRPC port. By initiating a `StreamExtSnapshot` RPC, the attacker can send malicious data, leading to the deletion and replacement of existing database contents. This could result in significant data corruption or unauthorized data manipulation.
- Unauthenticated network access required.
- Triggered by external snapshot import RPC.
- Risk of data deletion and modification.
Live Threat
Current exploitation, exposure, and threat context
In unsupported configurations, an unauthenticated network client could send external snapshot data to Dgraph Alpha, overwriting existing database contents. This occurs when the `StreamExtSnapshot` RPC is exposed on the public gRPC port without proper authentication, and the `Prepare()` operation is called before stream processing.
- Database data integrity.
- Via unauthenticated network access.
- Total data loss or corruption.
Operational Fix
Recommended remediation, mitigation, and detection steps
System owners and platform teams are likely responsible for addressing this critical vulnerability in Dgraph Alpha, given its default exposure on a public gRPC port. The initial step involves identifying all Dgraph instances, assessing their network reachability, confirming business criticality, and assigning ownership for remediation. Planning should then focus on risk-based mitigation strategies, which may include vendor coordination or applying updates during planned maintenance windows.
- Identify Dgraph instances and owners.
- Verify network exposure and criticality.
- Plan and execute remediation actions.