Weaknesses of type CWE-374

1 result

Passagem de Objetos Mutáveis para Métodos Não Confiáveis

A fraqueza ocorre quando o código passa uma referência a um objeto mutável (que pode ser modificado) para um método ou função de terceiros, sem validação ou proteção. O método externo pode alterar o estado interno do objeto, causando comportamentos inesperados ou comprometendo a integridade dos dados da aplicação.

Example

Uma classe gerencia uma lista de usuários aprovados interna. Ao invés de retornar uma cópia, o código retorna a lista original para um módulo externo: `return usuariosAprovados;`. O módulo malicioso limpa a lista ou insere usuários não autorizados, corrompendo a segurança da aplicação.

How to mitigate

Sempre retorne cópias defensivas de objetos mutáveis (clone, cópia profunda) ao compartilhá-los com código externo ou menos confiável. Considere usar estruturas imutáveis ou encapsular os dados com accessors que garantem isolamento.