CVE-2026-82724

Broken access control in AshPhoenix SubdomainHook via a nil tenant in handle_subdomain

HIGH
7.6
CVSS Score
Published: August 31, 2026 at 03:07 AM UTC
Updated: September 1, 2026 at 09:31 PM UTC
1 product affected across 1 vendorAshPhoenix

Using ash_phoenix by ash-project?

Get instant alerts when new vulnerabilities affect ash_phoenix - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.6
Exploit prediction
EPSS 0.4%
SSVC
PoC

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.1.26 ≤ v < 2.3.252.1.269a5ea4d377bc263de321d79574872a3dfc4fb541
Vendor states this is fixed in b396e1aa5c6bdec39255f19cf938b539e6d28b71 (fixed)
Affected range stops below 2.3.25, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

SSVC — Action Prioritization

SSVCPoCNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.6HIGHEEF
Vector?

Quick Info

StatusDEFERRED
CWE
CWE-863

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card