CVE-2026-93477: ash Improperly Controlled Modification of Object Attributes in bulk actions

CVE-2026-93477 · Severity: info · Published 2026-09-25

Ash is a web framework library for building data applications. An attacker who can submit parameters to bulk destroy or bulk update operations can set private action arguments that should only be controlled by the server, potentially bypassing authorization checks or modifying audit metadata. This could lead to unauthorized data deletion or modification.

Technologies: Ash-Project Ash. Vendors: Ash-Project.

Quick answers

Is CVE-2026-93477 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-93477 being exploited in the wild.
How severe is CVE-2026-93477?
Informational severity, published 25 September 2026.
Which products and versions are affected?
Ash-Project Ash 2.17.15 through 3.33.10.
Is there a fix for CVE-2026-93477?
A patch was published on 2026-09-25: Fix available in version 3.33.11 and later Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-93477 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-93477?
Check whether you run Ash-Project Ash at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability is an improper input validation in bulk destroy and bulk update paths that fails to check the public? flag on action arguments. Ash.Actions.Destroy.Bulk.base_changeset/5 and Ash.Actions.Update.Bulk.base_changeset/5 accept all parameters from the caller and apply them to the changeset without filtering private arguments, allowing any parameter name matching an action argument to override it. An attacker with network access to the application (via AshJsonApi, AshGraphql, or direct Ash.bulk_destroy/4 or Ash.bulk_update/4 calls) can inject private arguments used for authorization or audit purposes.

Affected products

  • ash-project ash 2.17.15 through 3.33.10

Timeline

  • 2026-09-25: disclosed
  • 2026-09-25: patched: Fix available in version 3.33.11 and later

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.