CVE-2026-75760 (GCVE-0-2026-75760)

Vulnerability from cvelistv5 – Published: 2026-08-31 01:09 – Updated: 2026-08-31 16:07
VLAI
Title
AshAi vectorize change leaks raw embedding-provider errors, including credentials, in a user-facing error
Summary
Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_ai discloses provider request state and credentials in a user-facing validation error. In AshAi.Changes.Vectorize, when the embedding provider call fails the change added a changeset error whose message inspected the raw error term (An error occurred while generating embeddings: #{inspect(error)}). A plain-string add_error produces an Ash.Error.Changes.InvalidChanges in the :invalid class, which AshJsonApi and AshGraphql render back to the caller. The embedding client's error term is not sanitized, so it can carry the request URL, the provider response body, and, for HTTP clients that keep the request in the error struct, the outbound Authorization header with the provider API key. Failures are attacker-reachable via oversized or malformed vectorized content. The fix logs the raw error and returns a generic message. This issue affects ash_ai: from 0.1.0 before 1.0.0.
SSVC
Exploitation: poc Automatable: no Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-08-31 16:07 UTC
CWE
  • CWE-209 - Generation of Error Message Containing Sensitive Information
Assigner
Impacted products
Vendor Product Version CPE status
ash-project ash_ai Affected: 0.1.0 , < 1.0.0 (semver)
    cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*
Create a notification for this product.
ash-project ash_ai Affected: 5334edc73a007f0629661761d6a75796f2fc0004 , < 088a2562e16d65f36cec178070de683636479f58 (git)
    cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-75760",
                "options": [
                  {
                    "Exploitation": "poc"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-08-31T16:07:03.271063Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-08-31T16:07:25.476Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "references": [
          {
            "tags": [
              "exploit"
            ],
            "url": "https://github.com/ash-project/ash_ai/security/advisories/GHSA-p5cr-mmmf-6w39"
          }
        ],
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "collectionURL": "https://repo.hex.pm",
          "cpes": [
            "cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*"
          ],
          "defaultStatus": "unaffected",
          "modules": [
            "\u0027Elixir.AshAi.Changes.Vectorize\u0027"
          ],
          "packageName": "ash_ai",
          "packageURL": "pkg:hex/ash_ai",
          "product": "ash_ai",
          "programFiles": [
            "lib/ash_ai/changes/vectorize.ex"
          ],
          "programRoutines": [
            {
              "name": "\u0027Elixir.AshAi.Changes.Vectorize\u0027:change/3"
            }
          ],
          "repo": "https://github.com/ash-project/ash_ai",
          "vendor": "ash-project",
          "versions": [
            {
              "lessThan": "1.0.0",
              "status": "affected",
              "version": "0.1.0",
              "versionType": "semver"
            }
          ]
        },
        {
          "collectionURL": "https://github.com",
          "cpes": [
            "cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*"
          ],
          "defaultStatus": "unaffected",
          "modules": [
            "\u0027Elixir.AshAi.Changes.Vectorize\u0027"
          ],
          "packageName": "ash-project/ash_ai",
          "packageURL": "pkg:github/ash-project/ash_ai",
          "product": "ash_ai",
          "programFiles": [
            "lib/ash_ai/changes/vectorize.ex"
          ],
          "programRoutines": [
            {
              "name": "\u0027Elixir.AshAi.Changes.Vectorize\u0027:change/3"
            }
          ],
          "repo": "https://github.com/ash-project/ash_ai",
          "vendor": "ash-project",
          "versions": [
            {
              "lessThan": "088a2562e16d65f36cec178070de683636479f58",
              "status": "affected",
              "version": "5334edc73a007f0629661761d6a75796f2fc0004",
              "versionType": "git"
            }
          ]
        }
      ],
      "configurations": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eThe application exposes a resource with \u003ccode\u003evectorize\u003c/code\u003e configured over an HTTP API (AshJsonApi or AshGraphql) that renders \u003ccode\u003e:invalid\u003c/code\u003e-class changeset errors, and the embedding provider call can be made to fail (for example via oversized content).\u003c/p\u003e"
            },
            {
              "base64": false,
              "type": "text/markdown",
              "value": "The application exposes a resource with `vectorize` configured over an HTTP API (AshJsonApi or AshGraphql) that renders `:invalid`-class changeset errors, and the embedding provider call can be made to fail (for example via oversized content)."
            }
          ],
          "value": "The application exposes a resource with vectorize configured over an HTTP API (AshJsonApi or AshGraphql) that renders :invalid-class changeset errors, and the embedding provider call can be made to fail (for example via oversized content)."
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "1.0.0",
                  "versionStartIncluding": "0.1.0",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ],
          "operator": "AND"
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "Peter Ullrich"
        },
        {
          "lang": "en",
          "type": "reporter",
          "value": "Peter Ullrich"
        },
        {
          "lang": "en",
          "type": "remediation developer",
          "value": "Zach Daniel / Ash Project"
        },
        {
          "lang": "en",
          "type": "coordinator",
          "value": "Jonatan M\u00e4nnchen / EEF"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eGeneration of Error Message Containing Sensitive Information vulnerability in ash-project ash_ai discloses provider request state and credentials in a user-facing validation error.\u003c/p\u003e\n\u003cp\u003eIn \u003ccode\u003eAshAi.Changes.Vectorize\u003c/code\u003e, when the embedding provider call fails the change added a changeset error whose message inspected the raw error term (\u003ccode\u003eAn error occurred while generating embeddings: #{inspect(error)}\u003c/code\u003e). A plain-string \u003ccode\u003eadd_error\u003c/code\u003e produces an \u003ccode\u003eAsh.Error.Changes.InvalidChanges\u003c/code\u003e in the \u003ccode\u003e:invalid\u003c/code\u003e class, which AshJsonApi and AshGraphql render back to the caller. The embedding client\u0027s error term is not sanitized, so it can carry the request URL, the provider response body, and, for HTTP clients that keep the request in the error struct, the outbound \u003ccode\u003eAuthorization\u003c/code\u003e header with the provider API key. Failures are attacker-reachable via oversized or malformed vectorized content. The fix logs the raw error and returns a generic message.\u003c/p\u003e\n\u003cp\u003eThis issue affects ash_ai: from 0.1.0 before 1.0.0.\u003c/p\u003e"
            },
            {
              "base64": false,
              "type": "text/markdown",
              "value": "Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_ai discloses provider request state and credentials in a user-facing validation error.\n\nIn `AshAi.Changes.Vectorize`, when the embedding provider call fails the change added a changeset error whose message inspected the raw error term (`An error occurred while generating embeddings: #{inspect(error)}`). A plain-string `add_error` produces an `Ash.Error.Changes.InvalidChanges` in the `:invalid` class, which AshJsonApi and AshGraphql render back to the caller. The embedding client\u0027s error term is not sanitized, so it can carry the request URL, the provider response body, and, for HTTP clients that keep the request in the error struct, the outbound `Authorization` header with the provider API key. Failures are attacker-reachable via oversized or malformed vectorized content. The fix logs the raw error and returns a generic message.\n\nThis issue affects ash_ai: from 0.1.0 before 1.0.0."
            }
          ],
          "value": "Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_ai discloses provider request state and credentials in a user-facing validation error.\n\nIn AshAi.Changes.Vectorize, when the embedding provider call fails the change added a changeset error whose message inspected the raw error term (An error occurred while generating embeddings: #{inspect(error)}). A plain-string add_error produces an Ash.Error.Changes.InvalidChanges in the :invalid class, which AshJsonApi and AshGraphql render back to the caller. The embedding client\u0027s error term is not sanitized, so it can carry the request URL, the provider response body, and, for HTTP clients that keep the request in the error struct, the outbound Authorization header with the provider API key. Failures are attacker-reachable via oversized or malformed vectorized content. The fix logs the raw error and returns a generic message.\n\nThis issue affects ash_ai: from 0.1.0 before 1.0.0."
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-54",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-54 Query System for Information"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV4_0": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "LOW",
            "attackRequirements": "NONE",
            "attackVector": "NETWORK",
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "privilegesRequired": "LOW",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "NONE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "NONE",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-209",
              "description": "CWE-209 Generation of Error Message Containing Sensitive Information",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-31T01:09:59.413Z",
        "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "shortName": "EEF"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory",
            "related"
          ],
          "url": "https://github.com/ash-project/ash_ai/security/advisories/GHSA-p5cr-mmmf-6w39"
        },
        {
          "tags": [
            "related"
          ],
          "url": "https://cna.erlef.org/cves/CVE-2026-75760.html"
        },
        {
          "tags": [
            "related"
          ],
          "url": "https://osv.dev/vulnerability/EEF-CVE-2026-75760"
        },
        {
          "tags": [
            "patch"
          ],
          "url": "https://github.com/ash-project/ash_ai/commit/088a2562e16d65f36cec178070de683636479f58"
        }
      ],
      "source": {
        "discovery": "EXTERNAL"
      },
      "title": "AshAi vectorize change leaks raw embedding-provider errors, including credentials, in a user-facing error"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "assignerShortName": "EEF",
    "cveId": "CVE-2026-75760",
    "datePublished": "2026-08-31T01:09:59.413Z",
    "dateReserved": "2026-08-30T23:15:02.367Z",
    "dateUpdated": "2026-08-31T16:07:25.476Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-75760",
      "date": "2026-08-31",
      "epss": "0.00283",
      "percentile": "0.20432"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-75760\",\"sourceIdentifier\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\",\"published\":\"2026-08-31T02:17:01.313\",\"lastModified\":\"2026-08-31T16:19:11.957\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_ai discloses provider request state and credentials in a user-facing validation error.\\n\\nIn AshAi.Changes.Vectorize, when the embedding provider call fails the change added a changeset error whose message inspected the raw error term (An error occurred while generating embeddings: #{inspect(error)}). A plain-string add_error produces an Ash.Error.Changes.InvalidChanges in the :invalid class, which AshJsonApi and AshGraphql render back to the caller. The embedding client\u0027s error term is not sanitized, so it can carry the request URL, the provider response body, and, for HTTP clients that keep the request in the error struct, the outbound Authorization header with the provider API key. Failures are attacker-reachable via oversized or malformed vectorized content. The fix logs the raw error and returns a generic message.\\n\\nThis issue affects ash_ai: from 0.1.0 before 1.0.0.\"}],\"affected\":[{\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\",\"affectedData\":[{\"vendor\":\"ash-project\",\"product\":\"ash_ai\",\"defaultStatus\":\"unaffected\",\"collectionURL\":\"https://repo.hex.pm\",\"packageName\":\"ash_ai\",\"cpes\":[\"cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*\"],\"modules\":[\"\u0027Elixir.AshAi.Changes.Vectorize\u0027\"],\"programFiles\":[\"lib/ash_ai/changes/vectorize.ex\"],\"programRoutines\":[{\"name\":\"\u0027Elixir.AshAi.Changes.Vectorize\u0027:change/3\"}],\"repo\":\"https://github.com/ash-project/ash_ai\",\"packageURL\":\"pkg:hex/ash_ai\",\"versions\":[{\"version\":\"0.1.0\",\"lessThan\":\"1.0.0\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"ash-project\",\"product\":\"ash_ai\",\"defaultStatus\":\"unaffected\",\"collectionURL\":\"https://github.com\",\"packageName\":\"ash-project/ash_ai\",\"cpes\":[\"cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*\"],\"modules\":[\"\u0027Elixir.AshAi.Changes.Vectorize\u0027\"],\"programFiles\":[\"lib/ash_ai/changes/vectorize.ex\"],\"programRoutines\":[{\"name\":\"\u0027Elixir.AshAi.Changes.Vectorize\u0027:change/3\"}],\"repo\":\"https://github.com/ash-project/ash_ai\",\"packageURL\":\"pkg:github/ash-project/ash_ai\",\"versions\":[{\"version\":\"5334edc73a007f0629661761d6a75796f2fc0004\",\"lessThan\":\"088a2562e16d65f36cec178070de683636479f58\",\"versionType\":\"git\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV40\":[{\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"4.0\",\"vectorString\":\"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X\",\"baseScore\":7.1,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"attackRequirements\":\"NONE\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"vulnConfidentialityImpact\":\"HIGH\",\"vulnIntegrityImpact\":\"NONE\",\"vulnAvailabilityImpact\":\"NONE\",\"subConfidentialityImpact\":\"NONE\",\"subIntegrityImpact\":\"NONE\",\"subAvailabilityImpact\":\"NONE\",\"exploitMaturity\":\"NOT_DEFINED\",\"confidentialityRequirement\":\"NOT_DEFINED\",\"integrityRequirement\":\"NOT_DEFINED\",\"availabilityRequirement\":\"NOT_DEFINED\",\"modifiedAttackVector\":\"NOT_DEFINED\",\"modifiedAttackComplexity\":\"NOT_DEFINED\",\"modifiedAttackRequirements\":\"NOT_DEFINED\",\"modifiedPrivilegesRequired\":\"NOT_DEFINED\",\"modifiedUserInteraction\":\"NOT_DEFINED\",\"modifiedVulnConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedVulnIntegrityImpact\":\"NOT_DEFINED\",\"modifiedVulnAvailabilityImpact\":\"NOT_DEFINED\",\"modifiedSubConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedSubIntegrityImpact\":\"NOT_DEFINED\",\"modifiedSubAvailabilityImpact\":\"NOT_DEFINED\",\"Safety\":\"NOT_DEFINED\",\"Automatable\":\"NOT_DEFINED\",\"Recovery\":\"NOT_DEFINED\",\"valueDensity\":\"NOT_DEFINED\",\"vulnerabilityResponseEffort\":\"NOT_DEFINED\",\"providerUrgency\":\"NOT_DEFINED\"}}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-08-31T16:07:03.271063Z\",\"id\":\"CVE-2026-75760\",\"options\":[{\"exploitation\":\"poc\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-209\"}]}],\"references\":[{\"url\":\"https://cna.erlef.org/cves/CVE-2026-75760.html\",\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\"},{\"url\":\"https://github.com/ash-project/ash_ai/commit/088a2562e16d65f36cec178070de683636479f58\",\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\"},{\"url\":\"https://github.com/ash-project/ash_ai/security/advisories/GHSA-p5cr-mmmf-6w39\",\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\"},{\"url\":\"https://osv.dev/vulnerability/EEF-CVE-2026-75760\",\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\"},{\"url\":\"https://github.com/ash-project/ash_ai/security/advisories/GHSA-p5cr-mmmf-6w39\",\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\"}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-75760\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-08-31T16:07:03.271063Z\"}}}], \"references\": [{\"url\": \"https://github.com/ash-project/ash_ai/security/advisories/GHSA-p5cr-mmmf-6w39\", \"tags\": [\"exploit\"]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-08-31T16:07:20.358Z\"}}], \"cna\": {\"title\": \"AshAi vectorize change leaks raw embedding-provider errors, including credentials, in a user-facing error\", \"source\": {\"discovery\": \"EXTERNAL\"}, \"credits\": [{\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Peter Ullrich\"}, {\"lang\": \"en\", \"type\": \"reporter\", \"value\": \"Peter Ullrich\"}, {\"lang\": \"en\", \"type\": \"remediation developer\", \"value\": \"Zach Daniel / Ash Project\"}, {\"lang\": \"en\", \"type\": \"coordinator\", \"value\": \"Jonatan M\\u00e4nnchen / EEF\"}], \"impacts\": [{\"capecId\": \"CAPEC-54\", \"descriptions\": [{\"lang\": \"en\", \"value\": \"CAPEC-54 Query System for Information\"}]}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV4_0\": {\"Safety\": \"NOT_DEFINED\", \"version\": \"4.0\", \"Recovery\": \"NOT_DEFINED\", \"baseScore\": 7.1, \"Automatable\": \"NOT_DEFINED\", \"attackVector\": \"NETWORK\", \"baseSeverity\": \"HIGH\", \"valueDensity\": \"NOT_DEFINED\", \"vectorString\": \"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N\", \"providerUrgency\": \"NOT_DEFINED\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"attackRequirements\": \"NONE\", \"privilegesRequired\": \"LOW\", \"subIntegrityImpact\": \"NONE\", \"vulnIntegrityImpact\": \"NONE\", \"subAvailabilityImpact\": \"NONE\", \"vulnAvailabilityImpact\": \"NONE\", \"subConfidentialityImpact\": \"NONE\", \"vulnConfidentialityImpact\": \"HIGH\", \"vulnerabilityResponseEffort\": \"NOT_DEFINED\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}]}], \"affected\": [{\"cpes\": [\"cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*\"], \"repo\": \"https://github.com/ash-project/ash_ai\", \"vendor\": \"ash-project\", \"modules\": [\"\u0027Elixir.AshAi.Changes.Vectorize\u0027\"], \"product\": \"ash_ai\", \"versions\": [{\"status\": \"affected\", \"version\": \"0.1.0\", \"lessThan\": \"1.0.0\", \"versionType\": \"semver\"}], \"packageURL\": \"pkg:hex/ash_ai\", \"packageName\": \"ash_ai\", \"programFiles\": [\"lib/ash_ai/changes/vectorize.ex\"], \"collectionURL\": \"https://repo.hex.pm\", \"defaultStatus\": \"unaffected\", \"programRoutines\": [{\"name\": \"\u0027Elixir.AshAi.Changes.Vectorize\u0027:change/3\"}]}, {\"cpes\": [\"cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*\"], \"repo\": \"https://github.com/ash-project/ash_ai\", \"vendor\": \"ash-project\", \"modules\": [\"\u0027Elixir.AshAi.Changes.Vectorize\u0027\"], \"product\": \"ash_ai\", \"versions\": [{\"status\": \"affected\", \"version\": \"5334edc73a007f0629661761d6a75796f2fc0004\", \"lessThan\": \"088a2562e16d65f36cec178070de683636479f58\", \"versionType\": \"git\"}], \"packageURL\": \"pkg:github/ash-project/ash_ai\", \"packageName\": \"ash-project/ash_ai\", \"programFiles\": [\"lib/ash_ai/changes/vectorize.ex\"], \"collectionURL\": \"https://github.com\", \"defaultStatus\": \"unaffected\", \"programRoutines\": [{\"name\": \"\u0027Elixir.AshAi.Changes.Vectorize\u0027:change/3\"}]}], \"references\": [{\"url\": \"https://github.com/ash-project/ash_ai/security/advisories/GHSA-p5cr-mmmf-6w39\", \"tags\": [\"vendor-advisory\", \"related\"]}, {\"url\": \"https://cna.erlef.org/cves/CVE-2026-75760.html\", \"tags\": [\"related\"]}, {\"url\": \"https://osv.dev/vulnerability/EEF-CVE-2026-75760\", \"tags\": [\"related\"]}, {\"url\": \"https://github.com/ash-project/ash_ai/commit/088a2562e16d65f36cec178070de683636479f58\", \"tags\": [\"patch\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_ai discloses provider request state and credentials in a user-facing validation error.\\n\\nIn AshAi.Changes.Vectorize, when the embedding provider call fails the change added a changeset error whose message inspected the raw error term (An error occurred while generating embeddings: #{inspect(error)}). A plain-string add_error produces an Ash.Error.Changes.InvalidChanges in the :invalid class, which AshJsonApi and AshGraphql render back to the caller. The embedding client\u0027s error term is not sanitized, so it can carry the request URL, the provider response body, and, for HTTP clients that keep the request in the error struct, the outbound Authorization header with the provider API key. Failures are attacker-reachable via oversized or malformed vectorized content. The fix logs the raw error and returns a generic message.\\n\\nThis issue affects ash_ai: from 0.1.0 before 1.0.0.\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"\u003cp\u003eGeneration of Error Message Containing Sensitive Information vulnerability in ash-project ash_ai discloses provider request state and credentials in a user-facing validation error.\u003c/p\u003e\\n\u003cp\u003eIn \u003ccode\u003eAshAi.Changes.Vectorize\u003c/code\u003e, when the embedding provider call fails the change added a changeset error whose message inspected the raw error term (\u003ccode\u003eAn error occurred while generating embeddings: #{inspect(error)}\u003c/code\u003e). A plain-string \u003ccode\u003eadd_error\u003c/code\u003e produces an \u003ccode\u003eAsh.Error.Changes.InvalidChanges\u003c/code\u003e in the \u003ccode\u003e:invalid\u003c/code\u003e class, which AshJsonApi and AshGraphql render back to the caller. The embedding client\u0027s error term is not sanitized, so it can carry the request URL, the provider response body, and, for HTTP clients that keep the request in the error struct, the outbound \u003ccode\u003eAuthorization\u003c/code\u003e header with the provider API key. Failures are attacker-reachable via oversized or malformed vectorized content. The fix logs the raw error and returns a generic message.\u003c/p\u003e\\n\u003cp\u003eThis issue affects ash_ai: from 0.1.0 before 1.0.0.\u003c/p\u003e\", \"base64\": false}, {\"type\": \"text/markdown\", \"value\": \"Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_ai discloses provider request state and credentials in a user-facing validation error.\\n\\nIn `AshAi.Changes.Vectorize`, when the embedding provider call fails the change added a changeset error whose message inspected the raw error term (`An error occurred while generating embeddings: #{inspect(error)}`). A plain-string `add_error` produces an `Ash.Error.Changes.InvalidChanges` in the `:invalid` class, which AshJsonApi and AshGraphql render back to the caller. The embedding client\u0027s error term is not sanitized, so it can carry the request URL, the provider response body, and, for HTTP clients that keep the request in the error struct, the outbound `Authorization` header with the provider API key. Failures are attacker-reachable via oversized or malformed vectorized content. The fix logs the raw error and returns a generic message.\\n\\nThis issue affects ash_ai: from 0.1.0 before 1.0.0.\", \"base64\": false}]}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-209\", \"description\": \"CWE-209 Generation of Error Message Containing Sensitive Information\"}]}], \"configurations\": [{\"lang\": \"en\", \"value\": \"The application exposes a resource with vectorize configured over an HTTP API (AshJsonApi or AshGraphql) that renders :invalid-class changeset errors, and the embedding provider call can be made to fail (for example via oversized content).\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"\u003cp\u003eThe application exposes a resource with \u003ccode\u003evectorize\u003c/code\u003e configured over an HTTP API (AshJsonApi or AshGraphql) that renders \u003ccode\u003e:invalid\u003c/code\u003e-class changeset errors, and the embedding provider call can be made to fail (for example via oversized content).\u003c/p\u003e\", \"base64\": false}, {\"type\": \"text/markdown\", \"value\": \"The application exposes a resource with `vectorize` configured over an HTTP API (AshJsonApi or AshGraphql) that renders `:invalid`-class changeset errors, and the embedding provider call can be made to fail (for example via oversized content).\", \"base64\": false}]}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"1.0.0\", \"versionStartIncluding\": \"0.1.0\"}], \"operator\": \"OR\"}], \"operator\": \"AND\"}], \"providerMetadata\": {\"orgId\": \"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\", \"shortName\": \"EEF\", \"dateUpdated\": \"2026-08-31T01:09:59.413Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2026-75760\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-31T16:07:25.476Z\", \"dateReserved\": \"2026-08-30T23:15:02.367Z\", \"assignerOrgId\": \"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\", \"datePublished\": \"2026-08-31T01:09:59.413Z\", \"assignerShortName\": \"EEF\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…