Volver al glosario

Mass assignment

1 min de lectura

El mass assignment es un defecto de API en el que un framework enlaza los campos de una petición entrante directamente sobre un objeto interno, de manera que quien llama puede fijar propiedades que la interfaz no ofreció nunca. Añadir un campo como role o isAdmin a una actualización de perfil por lo demás legítima es todo el ataque.

29 de julio de 2026
Compartir:

La comodidad que lo provoca es justo la gracia de la funcionalidad: el framework coge un cuerpo JSON y rellena un modelo sin que quien programa tenga que enumerar los campos. El modelo, sin embargo, suele llevar más propiedades que el formulario. Cualquier cosa escribible que vea el enlazador se convierte en una entrada, y la autorización a nivel de propiedad es el control que nadie escribió.

Encontrarlo consiste en aprender la forma completa del objeto y después intentar escribir en ella. La forma se filtra por las propias respuestas de la API, por un documento OpenAPI, por un cliente móvil o por un endpoint hermano que devuelve más campos de los que acepta. Cogemos campos que aparecen en una respuesta de lectura y los devolvemos en una petición de escritura, y después verificamos el cambio desde una segunda cuenta en vez de fiarnos del cuerpo de la respuesta, porque hay muchas APIs que devuelven un valor aceptado que en realidad no guardaron.

El arreglo es una lista explícita de campos escribibles permitidos por operación, no una lista de los peligrosos, porque una lista de prohibidos envejece mal cada vez que alguien añade una columna. El defecto está catalogado junto a la exposición excesiva de datos como API3:2023, y forma parte rutinaria de las pruebas de API donde mapeamos todas las propiedades de cada objeto.

¿Quieres ver cómo trabajamos en Asperis Security?

Agenda 30 minutos con uno de nuestros especialistas. Revisamos tu stack y te decimos qué conviene probar primero.