CVE-2026-78699

Source
https://cve.org/CVERecord?id=CVE-2026-78699
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-78699.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-78699
Aliases
Published
2026-08-30T15:13:23Z
Modified
2026-09-06T03:46:41Z
Severity
  • 7.2 (High) CVSS_V4 - CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
rename_tenant returns :ok on a failed rename, enabling cross-tenant access in AshPostgres
Details

Unchecked Return Value vulnerability in ash-project ash_postgres allows a user who can drive a tenant rename to a name that collides with an existing tenant's schema to have their tenant record repointed at that other tenant's live schema, gaining access to its data.

AshPostgres.MultiTenancy.rename_tenant/3 issues the ALTER SCHEMA ... RENAME TO ... with the non-raising Ecto.Adapters.SQL.query/2, discards its {:ok, _} | {:error, _} result, and unconditionally returns :ok. PostgreSQL rejects the rename when the target schema already exists (and on insufficient privilege or lock timeout), but that failure never reaches the caller. The calling manage_tenant update action therefore sees success and commits the tenant row with the new name, which is the schema of a different existing tenant, so subsequent reads and writes for that tenant run against the other tenant's data.

This issue affects ash_postgres: from 0.25.0 before 2.13.0.

Database specific
{
    "cna_assigner":  "EEF",
    "cwe_ids":  [
        "CWE-252"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/78xxx/CVE-2026-78699.json",
    "unresolved_ranges":  [
        {
            "extracted_events":  [
                {
                    "introduced":  "03510dae24020e302558ef947be7ea874a9ce756"
                },
                {
                    "fixed":  "8544ab15fe45784553c2d2da8ee1a388eee0174b"
                }
            ],
            "source":  "AFFECTED_FIELD"
        }
    ]
}
References

Affected packages

Git / github.com/ash-project/ash_postgres

Affected ranges

Type
GIT
Repo
https://github.com/ash-project/ash_postgres
Events
Database specific
Show details
{
    "extracted_events":  [
        {
            "introduced":  "0.25.0"
        },
        {
            "fixed":  "2.13.0"
        }
    ],
    "source":  [
        "DESCRIPTION",
        "REFERENCES"
    ]
}

Affected versions

v0.*
v0.25.0
v0.25.1
v0.25.2
v0.25.3
v0.25.4
v0.25.5
v0.26.0
v0.26.1
v0.26.2
v0.27.0
v0.28.0
v0.28.1
v0.29.1
v0.29.2
v0.29.3
v0.29.4
v0.29.5
v0.29.6
v0.30.0
v0.30.1
v0.31.0
v0.31.1
v0.32.0
v0.32.1
v0.32.2
v0.33.0
v0.33.1
v0.34.0
v0.34.1
v0.34.2
v0.34.3
v0.34.4
v0.34.5
v0.34.6
v0.34.7
v0.35.0
v0.35.1
v0.35.4
v0.35.5
v0.36.0
v0.36.1
v0.36.2
v0.36.3
v0.36.4
v0.36.5
v0.37.0
v0.37.1
v0.37.2
v0.37.3
v0.37.4
v0.37.6
v0.37.7
v0.37.8
v0.38.0
v0.38.1
v0.38.10
v0.38.11
v0.38.2
v0.38.3
v0.38.4
v0.38.5
v0.38.6
v0.38.7
v0.38.8
v0.38.9
v0.39.0-rc0
v0.40.0-rc1
v0.40.0-rc2
v0.40.0-rc3
v0.40.0-rc4
v0.40.0-rc5
v0.40.1
v0.40.10
v0.40.11
v0.40.2
v0.40.3
v0.40.4
v0.40.5
v0.40.6
v0.40.7
v0.40.8
v0.40.9
v0.41.0-rc.1
v0.41.0-rc.2
v0.41.0-rc.3
v0.41.0-rc.4
v0.41.0-rc.5
v0.41.0-rc.6
v0.41.0-rc.7
v0.41.0-rc.8
v0.41.0-rc.9
v0.41.0-rc0
v0.41.1
v0.41.2
v0.41.3
v0.41.4
v0.41.5
v0.41.6
v0.41.7
v0.42.0-rc.0
v0.42.0-rc.1
v0.42.0-rc.2
v0.42.0-rc.3
v0.42.0-rc.4
v0.42.0-rc.5
v0.42.0-rc.6
v0.42.0-rc.7
v0.43.0
v1.*
v1.0.0
v1.0.0-rc.0
v1.0.0-rc.1
v1.0.0-rc.2
v1.0.0-rc.3
v1.0.0-rc.4
v1.0.0-rc.5
v1.0.0-rc.6
v1.0.0-rc.7
v1.0.0-rc.8
v1.0.0-rc.9
v1.1.0
v1.1.1
v1.1.2
v1.1.3
v1.2.0
v1.2.0-rc.0
v1.2.0-rc.1
v1.2.1
v1.2.2
v1.2.3
v1.2.4
v1.2.5
v1.2.6
v1.3.0
v1.3.0-rc.0
v1.3.0-rc.1
v1.3.0-rc.2
v1.3.0-rc.3
v1.3.0-rc.4
v1.3.1
v1.3.10
v1.3.11
v1.3.12
v1.3.13
v1.3.14
v1.3.15
v1.3.16
v1.3.17
v1.3.18
v1.3.19
v1.3.2
v1.3.20
v1.3.21
v1.3.22
v1.3.23
v1.3.24
v1.3.25
v1.3.26
v1.3.27
v1.3.28
v1.3.29
v1.3.3
v1.3.30
v1.3.31
v1.3.32
v1.3.33
v1.3.34
v1.3.35
v1.3.36
v1.3.37
v1.3.38
v1.3.39
v1.3.4
v1.3.40
v1.3.41
v1.3.42
v1.3.43
v1.3.44
v1.3.45
v1.3.46
v1.3.47
v1.3.48
v1.3.49
v1.3.5
v1.3.50
v1.3.51
v1.3.53
v1.3.54
v1.3.55
v1.3.56
v1.3.57
v1.3.58
v1.3.59
v1.3.6
v1.3.60
v1.3.61
v1.3.62
v1.3.63
v1.3.64
v1.3.65
v1.3.66
v1.3.67
v1.3.68
v1.3.8
v1.3.9
v1.4.0
v1.5.0
v1.5.1
v1.5.10
v1.5.11
v1.5.12
v1.5.13
v1.5.14
v1.5.15
v1.5.16
v1.5.17
v1.5.19
v1.5.2
v1.5.20
v1.5.21
v1.5.22
v1.5.3
v1.5.4
v1.5.5
v1.5.6
v1.5.7
v1.5.8
v1.5.9
v2.*
v2.0.0-rc.0
v2.0.0-rc.1
v2.0.0-rc.10
v2.0.0-rc.11
v2.0.0-rc.12
v2.0.0-rc.13
v2.0.0-rc.14
v2.0.0-rc.15
v2.0.0-rc.2
v2.0.0-rc.3
v2.0.0-rc.4
v2.0.0-rc.5
v2.0.0-rc.6
v2.0.0-rc.7
v2.0.0-rc.8
v2.0.0-rc.9
v2.0.10
v2.0.11
v2.0.12
v2.0.2
v2.0.3
v2.0.4
v2.0.7
v2.0.8
v2.0.9
v2.1.1
v2.1.10
v2.1.11
v2.1.12
v2.1.13
v2.1.14
v2.1.15
v2.1.17
v2.1.18
v2.1.19
v2.1.2
v2.1.3
v2.1.4
v2.1.5
v2.1.6
v2.1.8
v2.1.9
v2.10.0
v2.11.0
v2.12.0
v2.2.0
v2.2.1
v2.2.2
v2.2.3
v2.2.4
v2.2.5
v2.3.0
v2.3.1
v2.4.0
v2.4.1
v2.4.10
v2.4.11
v2.4.12
v2.4.13
v2.4.14
v2.4.16
v2.4.17
v2.4.18
v2.4.19
v2.4.2
v2.4.20
v2.4.21
v2.4.22
v2.4.3
v2.4.4
v2.4.5
v2.4.6
v2.4.7
v2.4.8
v2.4.9
v2.5.0
v2.5.1
v2.5.10
v2.5.11
v2.5.12
v2.5.13
v2.5.14
v2.5.15
v2.5.16
v2.5.17
v2.5.18
v2.5.19
v2.5.2
v2.5.20
v2.5.21
v2.5.22
v2.5.3
v2.5.4
v2.5.5
v2.5.6
v2.5.7
v2.5.8
v2.5.9
v2.6.0
v2.6.1
v2.6.10
v2.6.11
v2.6.12
v2.6.13
v2.6.14
v2.6.15
v2.6.16
v2.6.17
v2.6.18
v2.6.19
v2.6.2
v2.6.20
v2.6.21
v2.6.22
v2.6.23
v2.6.24
v2.6.25
v2.6.26
v2.6.27
v2.6.28
v2.6.29
v2.6.3
v2.6.30
v2.6.31
v2.6.32
v2.6.4
v2.6.5
v2.6.6
v2.6.7
v2.6.8
v2.6.9
v2.7.0
v2.8.0
v2.9.0
v2.9.1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-78699.json"