Skip to content
Heist/ feed
Back to feed
High

Dgraph Vulnerable to DQL Injection via checkUserPassword GraphQL Query

Type: advisorySources: OSV

Dgraph is an open source distributed GraphQL database. Prior to version 25.3.4, the `checkUserPassword` GraphQL query in Dgraph is vulnerable to DQL (Dgraph Query Language) injection. User-supplied password values are interpolated directly into a DQL `checkpwd()` query via `fmt.Sprintf` without any escaping or parameterization. An attacker can inject a password containing a double-quote character to break out of the DQL string literal and append arbitrary DQL query blocks. Version 25.3.4 patches the issue.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-44840
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 14:13 UTC · Revision 1

Source evidence

Dgraph Vulnerable to DQL Injection via checkUserPassword GraphQL Query

core-osv · Original source

Published 8 Jul 2026, 13:27 UTC

Dgraph is an open source distributed GraphQL database. Prior to version 25.3.4, the `checkUserPassword` GraphQL query in Dgraph is vulnerable to DQL (Dgraph Query Language) injection. User-supplied password values are interpolated directly into a DQL `checkpwd()` query via `fmt.Sprintf` without any escaping or parameterization. An attacker can inject a password containing a double-quote character to break out of the DQL string literal and append arbitrary DQL query blocks. Version 25.3.4 patches the issue.

osv:CVE-2026-44840
Complete source record
{
  "id": "0b11bea0d0b915cae636feb672c7aaabec0ec12982f45164db7a5539787c5671",
  "url": "https://osv.dev/vulnerability/CVE-2026-44840",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Dgraph Vulnerable to DQL Injection via checkUserPassword GraphQL Query",
    "summary": "Dgraph is an open source distributed GraphQL database. Prior to version 25.3.4, the `checkUserPassword` GraphQL query in Dgraph is vulnerable to DQL (Dgraph Query Language) injection. User-supplied password values are interpolated directly into a DQL `checkpwd()` query via `fmt.Sprintf` without any escaping or parameterization. An attacker can inject a password containing a double-quote character to break out of the DQL string literal and append arbitrary DQL query blocks. Version 25.3.4 patches the issue.",
    "evidence": "osv:CVE-2026-44840",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-44840",
      "aliases": [
        "CVE-2026-44840",
        "GHSA-q2m9-6jp9-c6mc",
        "GO-2026-5837"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/dgraph-io/dgraph",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "cee702c93f141eeb0c96a81f70830ec9e459efac"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "25.3.4"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "cee702c93f141eeb0c96a81f70830ec9e459efac"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "cee702c93f141eeb0c96a81f70830ec9e459efac"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v25.3.4"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "25.3.4"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v25.3.3",
            "v25.3.2",
            "v25.3.1",
            "v25.3.0",
            "v25.2.0",
            "v25.1.0",
            "v25.1.0-preview1",
            "v25.0.0",
            "v25.0.0-preview6",
            "v25.0.0-preview5",
            "v25.0.0-preview4",
            "v25.0.0-preview3",
            "v25.0.0-preview2",
            "v25.0.0-preview1",
            "v24.0.2",
            "v24.0.2-rc1",
            "v24.0.1",
            "v24.0.0",
            "v24.0.0-rc1",
            "v23.1.0",
            "v24.0.0-alpha3",
            "v24.0.0-alpha2",
            "v24.0.0-alpha",
            "v23.1.0-rc1",
            "v23.1.0-rc2",
            "v23.0.1",
            "v22.0.2",
            "v23.0.0",
            "v23.0.0-rc1",
            "v23.0.0-beta1",
            "v22.0.0",
            "v22.0.0-RC1-20221003",
            "v21.03.2",
            "v21.03.1",
            "v21.03.0",
            "v20.11.0-rc1",
            "release/v20.11-rc1",
            "v1.0.8",
            "v1.0.9",
            "v2.0.0-rc1",
            "v2.0.0-beta1",
            "v1.2.0-rc1",
            "v1.1.1",
            "v1.1.1-rc2",
            "v1.1.1-rc1",
            "v1.1.0",
            "v1.1.0-rc3",
            "v1.1.0-rc2",
            "v1.0.12-rc3",
            "v1.0.12-rc2",
            "v1.0.12-rc1",
            "v1.0.11",
            "v1.0.11-rc4",
            "v1.0.11-rc3",
            "v1.0.11-rc2",
            "v1.0.10",
            "v1.0.11-rc1",
            "v1.0.10-rc1",
            "v1.0.9-rc5",
            "v1.0.9-rc4",
            "v1.0.9-rc3",
            "v1.0.9-rc2",
            "v1.0.9-rc1",
            "v1.0.8-rc2",
            "v1.0.8-rc1",
            "v1.0.7a",
            "v1.0.7",
            "v1.0.7-rc4",
            "v1.0.7-rc3",
            "v1.0.7-rc2",
            "nightly",
            "v1.0.5",
            "v1.0.4",
            "v1.0.3",
            "v1.0.2",
            "v1.0.1",
            "v1.0.0",
            "v0.9.4",
            "v0.9.0",
            "v0.8.3",
            "v0.8.1",
            "v0.8.0",
            "v0.4.2",
            "v0.4.1",
            "v0.4.0",
            "v0.3"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-44840.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:29.206796860Z",
      "provider": "osv",
      "references": [
        "https://github.com/dgraph-io/dgraph/releases/tag/v25.3.4",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44840.json",
        "https://github.com/dgraph-io/dgraph/security/advisories/GHSA-q2m9-6jp9-c6mc",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-44840",
        "https://github.com/dgraph-io/dgraph/commit/cee702c93f141eeb0c96a81f70830ec9e459efac"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-943"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44840.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-44840",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 496279,
  "published_at": "2026-07-08T13:27:44.178+00:00"
}