PT-2026-51581

CVE-2026-55736

·

Published

2026-06-23

·

Updated

2026-09-25

Description by

CVSS 4.0
5.9
Medium
MetricsAV: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
Related identifiers
GHSA-F4HC-PPW9-4HHW
Found an issue in the description? Have something to add? Feel free to write us 👾