Atribuição em massa
O que é Atribuição em massa?
Atribuição em massaVulnerabilidade em que a aplicação liga cegamente campos enviados pelo cliente a propriedades internas, permitindo ao atacante definir atributos que não devia controlar.
A atribuição em massa surge quando frameworks (Rails, Spring, ASP.NET, NestJS, Django) mapeiam automaticamente JSON ou campos de formulário recebidos para atributos do modelo, sem allow-list explícita. Um atacante pode adicionar propriedades extra — isAdmin, role, balance, tenantId — que o servidor grava na base de dados. A falha é difícil de detetar em revisão de código porque a atribuição é implícita. Também conhecida como autobinding ou object injection. Mitigações: DTOs ou esquemas de entrada explícitos, allow-lists rigorosas de campos vinculáveis, separação de atributos internos dos modelos expostos e testes de segurança que enviam chaves JSON inesperadas.
● Exemplos
- 01
Enviar {"name":"Bob","isAdmin":true} para /api/users e ser promovido a administrador.
- 02
Atualizar um pedido com um campo de desconto oculto via POST, contornando as regras de preços.
● Perguntas frequentes
O que é Atribuição em massa?
Vulnerabilidade em que a aplicação liga cegamente campos enviados pelo cliente a propriedades internas, permitindo ao atacante definir atributos que não devia controlar. Pertence à categoria Vulnerabilidades da cibersegurança.
O que significa Atribuição em massa?
Vulnerabilidade em que a aplicação liga cegamente campos enviados pelo cliente a propriedades internas, permitindo ao atacante definir atributos que não devia controlar.
Como se defender contra Atribuição em massa?
As defesas contra Atribuição em massa costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Atribuição em massa?
Nomes alternativos comuns: Vulnerabilidade de autobinding, Injeção de objeto.