Impact
A vulnerability in Dgraph allows an unauthenticated attacker to exfiltrate all stored data by injecting a malicious DQL query into the cond field of an upsert mutation. The injected query is concatenated into the mutation without any escaping or validation, which the DQL parser accepts as a new named query block. The query executes server‑side and its results are returned to the attacker, giving complete read access to the database. This issue is classified as CWE‑943 due to improper handling of input that results in disclosure of sensitive information.
Affected Systems
The affected product is Dgraph, the open‑source distributed GraphQL database from dgraph‑io. All deployments using the default configuration in which ACL is disabled are vulnerable. Versions prior to 25.3.3 contain the flaw; the issue is fixed in 25.3.3.
Risk and Exploitability
The CVSS rating of 9.1 indicates a high‑severity vulnerability. The exploit probability is low, with an EPSS score below 1%, and the vulnerability is not listed in CISA’s KEV catalog. Nevertheless, the attack requires only a single HTTP POST to /mutate?commitNow=true with a crafted cond string and no authentication is necessary, meaning any exposed Dgraph instance with default settings can be exploited. Once exploited, an attacker can read every data item in the database, resulting in total data exfiltration.
OpenCVE Enrichment
Github GHSA