CVE-2026-93477 in ashinformación

Resumen

por VulDB • 2026-09-25

Vulnerabilidad de Modificación Incorrectamente Controlada de Atributos de Objetos Determinados Dinámicamente en ash-project ash que permite a un usuario establecer el valor de un argumento de acción privado en las rutas de destrucción masiva (bulk destroy) y actualización masiva (bulk update).

Los argumentos de acción declarados con `public?: false` están destinados a ser establecidos únicamente por código del lado del servidor confiable (por ejemplo, mediante Ash.Changeset.set_private_argument/3) y no deben poder establecerse desde la entrada del usuario final. CVE-2026-55736 corrigió la ruta de changeset no masiva para eliminar los argumentos privados de los mapas de parámetros proporcionados por el usuario, pero las rutas de destrucción masiva y actualización masiva no estaban cubiertas.

Ash.Actions.Destroy.Bulk.base_changeset/5 y Ash.Actions.Update.Bulk.base_changeset/5 coinciden con cada clave en el mapa de parámetros suministrado por el llamador contra todos los argumentos de la acción sin realizar una verificación `public?`, aplicando luego las coincidencias al changeset base. Un llamador que pueda enviar parámetros a una acción de destrucción masiva o actualización masiva (por ejemplo, a través de AshJsonApi, AshGraphql o un controlador que reenvía los parámetros de la solicitud a Ash.bulk_destroy/4 o Ash.bulk_update/4) puede por lo tanto establecer cualquier argumento privado de esa acción, incluido uno referenciado por una plantilla `arg(...)` en las transformaciones (changes) o validaciones de la acción. Dependiendo de cómo la aplicación utilice el argumento (por ejemplo, un acting_user_id que controle la autorización o la propiedad del registro, o metadatos de auditoría), esto puede conducir a una violación de integridad o escalada de privilegios.

La corrección requiere `public?` en la coincidencia de argumentos en ambas rutas masivas; los argumentos privados siguen siendo configurables desde el lado del servidor mediante la opción `:private_arguments`.

Este problema afecta a ash: desde 2.17.15 hasta antes de 3.33.11.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

EEF

Reservar

2026-09-19

Divulgación

2026-09-25

Moderación

aceptado

Artículo

VDB-409859

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you need the next level of professionalism?

Upgrade your account now!