{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "1.9.0"
              },
              {
                "fixed": "1.11.0"
              }
            ],
            "source": [
              "DESCRIPTION",
              "REFERENCES"
            ]
          },
          "events": [
            {
              "introduced": "374261a4f243d67213f7527c93dde688dcb6ecf2"
            },
            {
              "fixed": "4e2c5476ecfd2c701488627ee46e6eefc58c982e"
            },
            {
              "fixed": "78e90d369f09f44c534816de541e60841066a467"
            }
          ],
          "repo": "https://github.com/ash-project/ash_graphql",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-ppr2-g9h8-w7qp"
  ],
  "database_specific": {
    "cna_assigner": "EEF",
    "cwe_ids": [
      "CWE-209"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/78xxx/CVE-2026-78693.json",
    "unresolved_ranges": [
      {
        "extracted_events": [
          {
            "introduced": "6d2d8d995906d68cc245d209a9b3f9853405eb61"
          },
          {
            "fixed": "78e90d369f09f44c534816de541e60841066a467"
          }
        ],
        "source": "AFFECTED_FIELD"
      }
    ]
  },
  "details": "Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_graphql allows a remote client to read internal field names that an application configured its error_handler to redact.\n\nIn AshGraphql.Errors, each error is passed to the configured error_handler and the returned map is merged with the pre-handler path via Map.put_new(handled, :path, path). Because put_new defers to the handler only when the handler itself set :path, a sanitizing handler that returns a fresh map or deletes :path has that decision reverted. The re-injected path comes from build_error_path/5, which falls back to raw internal Ash attribute and argument names when no field_names mapping is configured. A validation failure on a non-exposed or nested field therefore returns internal names in the GraphQL error path, defeating the application's redaction.\n\nThis issue affects ash_graphql: from 1.9.0 before 1.11.0.",
  "id": "CVE-2026-78693",
  "modified": "2026-09-03T03:30:55.936197712Z",
  "published": "2026-08-30T18:28:35.282Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://cna.erlef.org/cves/CVE-2026-78693.html"
    },
    {
      "type": "WEB",
      "url": "https://github.com"
    },
    {
      "type": "WEB",
      "url": "https://osv.dev/vulnerability/EEF-CVE-2026-78693"
    },
    {
      "type": "WEB",
      "url": "https://repo.hex.pm"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/78xxx/CVE-2026-78693.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/ash-project/ash_graphql/security/advisories/GHSA-ppr2-g9h8-w7qp"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-78693"
    },
    {
      "type": "FIX",
      "url": "https://github.com/ash-project/ash_graphql/commit/78e90d369f09f44c534816de541e60841066a467"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/ash-project/ash_graphql"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N",
      "type": "CVSS_V4"
    }
  ],
  "summary": "Incomplete redaction re-attaches the original error path in AshGraphql, leaking internal field names"
}