Impact
The vulnerability in Ash Project is an improperly controlled modification of dynamically‑determined object attributes that allows a user to set private action arguments in the bulk destroy and bulk update paths. These private arguments should only be set by trusted server‑side code. Because the bulk changeset functions apply every key from the caller‑supplied map without checking the public? flag, an attacker can supply values for arguments that are marked private, including arguments used in change logic or validations. This flaw can result in integrity violations or privilege escalation if the private argument controls authorization checks or audit metadata.
Affected Systems
This issue affects the Ash framework from version 2.17.15 up to but not including 3.33.11. The affected components are Ash.Actions.Destroy.Bulk.base_changeset/5 and Ash.Actions.Update.Bulk.base_changeset/5, as well as any API or controller that forwards parameters to Ash.bulk_destroy/4 or Ash.bulk_update/4. The vulnerability is identified as CWE-915, which represents an improper control of access to private information.
Risk and Exploitability
The CVSS score of 5.9 indicates a moderate severity. EPSS information is not available, and the vulnerability has not been listed in the CISA KEV catalog, suggesting limited known exploitation. The attack vector is inferred to be remote, via API endpoints such as AshJsonApi, AshGraphql, or custom controllers that expose bulk operations. An attacker with the ability to submit bulk parameters can set any private argument, potentially enabling unauthorized data manipulation. The risk level is moderate but should be mitigated promptly by applying the vendor provided fix and enforcing input validation for bulk paths.
OpenCVE Enrichment