PT-2026-51581 · Ash · Ash

·

CVE-2026-55736

·

Published

2026-06-23

·

Updated

2026-07-09

CVSS v4.0

5.9

Medium

VectorAV: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.

Exploit

Fix

LPE

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-55736
GHSA-F4HC-PPW9-4HHW

Affected Products

Ash