CVE-2026-114214

Source
https://cve.org/CVERecord?id=CVE-2026-114214
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-114214.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-114214
Aliases
Published
2026-10-25T19:47:30Z
Modified
2026-11-01T02:46:34Z
Severity
  • 6.0 (Medium) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
Loading a through relationship with a limit of 1 in Ash ignores the through path and returns unrelated destination records
Details

Incorrect Authorization vulnerability in ash-project ash allows a client to read destination records unrelated to the source record through a through relationship.

When a has_many relationship declared with through: was loaded for a single record with a limit of 1, or an unsorted has_one through relationship was loaded with a limit of 1, lateral_join?/4 in lib/ash/actions/read/relationships.ex chose the path that reads the destination without any filter linking it to the source. The load returned the first destination record by sort, or any other record with an offset. The read still runs the destination's policies but carries the relationship as accessing_from, so a client paging such a field (for example teachers(limit: 1, offset: n) through AshGraphql) can enumerate destination records that policies allow only when reached through that relationship.

This issue affects ash: from 3.24.0 before 3.37.1.

Database specific
{
    "cna_assigner": "EEF",
    "cwe_ids": [
        "CWE-863"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114214.json"
}
References

Affected packages

Git / github.com/ash-project/ash

Affected ranges

Type
GIT
Repo
https://github.com/ash-project/ash
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "range": [
                {
                    "introduced": "24f41e23dcbd9d07cde270a8141490e8f79251f5"
                },
                {
                    "fixed": "e37463307304b26bc8fd606322e5c4d8f7f060e5"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StandardRange"
        },
        {
            "range": [
                {
                    "introduced": "3.24.0"
                },
                {
                    "fixed": "3.37.1"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StandardRange"
        },
        {
            "range": [
                {
                    "fixed": "24f41e23dcbd9d07cde270a8141490e8f79251f5"
                }
            ],
            "source": "REFERENCES_COMMIT"
        },
        {
            "range": [
                {
                    "fixed": "e37463307304b26bc8fd606322e5c4d8f7f060e5"
                }
            ],
            "source": "REFERENCES_COMMIT"
        }
    ]
}

Affected versions

v3.*
v3.24.0
v3.24.1
v3.24.2
v3.24.3
v3.24.4
v3.24.5
v3.24.6
v3.24.7
v3.25.0
v3.25.1
v3.25.2
v3.26.0
v3.27.0
v3.27.1
v3.27.2
v3.27.3
v3.27.4
v3.27.6
v3.27.7
v3.27.8
v3.28.0
v3.29.0
v3.29.1
v3.29.2
v3.29.3
v3.30.0
v3.30.1
v3.31.0
v3.31.1
v3.31.2
v3.31.3
v3.32.1
v3.32.2
v3.32.3
v3.33.1
v3.33.10
v3.33.11
v3.33.2
v3.33.3
v3.33.4
v3.33.5
v3.33.6
v3.33.7
v3.33.9
v3.34.0
v3.34.1
v3.34.2
v3.34.3
v3.34.4
v3.34.5
v3.34.6
v3.35.0
v3.36.0
v3.36.1
v3.37.0

Database specific

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