High severity · published Aug 31, 2026
CVE-2026-82724
Broken access control in AshPhoenix SubdomainHook via a nil tenant in handle_subdomain
7.6
CVSS
0.4%
EPSS
No
On KEV
Description
Incorrect Authorization vulnerability in ash-project ash_phoenix invokes the SubdomainHook authorization callback with a nil tenant, so tenant-scoped access checks never see the tenant they are meant to enforce. AshPhoenix.LiveView.SubdomainHook.on_mount/4 attached a handle_params hook to assign the tenant and then immediately called handle_subdomain in the same on_mount. The tenant assign is only written when LiveView later runs handle_params, strictly after on_mount returns, so handle_subdomain read an unset assign and ran as apply(m, f, [socket, nil | a]). A consumer gate that halts when the user does not belong to the tenant instead evaluated nil, either crashing or taking a permissive branch, and it was never re-run once the real subdomain was assigned or on later navigations. The fix runs handle_subdomain inside the handle_params hook with the real tenant on every navigation. This issue affects ash_phoenix: from 2.1.26 before 2.3.25.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 37% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AS
ash_phoenix · ash-project
2.1.26 before 2.3.25; 9a5ea4d377bc263de321d79574872a3dfc4fb541 before b396e1aa5c6bdec39255f19cf938b539e6d28b71 · source: vendor
Affected product
AS
ash_phoenix
ash-project
More from ash_phoenix
6.3
CVE-2026-82726
AshPhoenix get_subdomain maps a crafted or differently-cased Host header to an arbitrary tenant
2.3
CVE-2026-82725
AshPhoenix FilterForm allows filtering across non-public relationships, disclosing private related data
2.3
CVE-2026-82727
AshPhoenix Form.Auto leaks submitted params in an unknown _union_type error message