PT-2026-51581
CVE-2026-55736
·
Published
2026-06-23
·
Updated
2026-09-25
Description by
CVSS 4.0
5.9
MediumMetricsAV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Name of the Vulnerable Software and Affected Versions
ash-project ash versions 3.0.0 through 3.29.2
Description
An issue exists where users can set the value of a private action argument intended to be controlled exclusively by trusted server-side code. Action arguments declared with
public?: false are meant for internal settings, such as those via Ash.Changeset.set private argument/3, and should not be settable via end-user input. However, filtering of these private arguments is incomplete when a changeset is built from a parameter map. In regular changeset paths (for create, for update, for destroy), private arguments are only stripped if the parameter key is an atom; if the key is a binary (string), which is common for user-supplied parameters, the argument is retained. In the atomic path (Ash.Changeset.fully atomic changeset/4, including atomic and bulk updates), private arguments are not stripped regardless of the key type. This allows an attacker to inject values into private arguments, potentially leading to privilege escalation or integrity violations, especially if arguments like acting user id are used for authorization or record ownership.Recommendations
Update ash-project ash to version 3.29.3 or later.
Exploitability
Exploit
Fix
Impacts
Vendors
Affected products
Found an issue in the description? Have something to add? Feel free to write us 👾