validação de entrada
2 artigos com esta tag
Desserialização insegura: o risco de deixar dados externos escolherem o tipo do objeto, e como evitar
O perigo da desserialização não é que cheguem valores ruins; é que alguns formatos deixam os dados externos decidirem que tipo de objeto construir. Por isso o dano não para em dados corrompidos — a OWASP lista negação de serviço, contorno de controle de acesso e execução remota de código. Duas defesas: trocar para um formato só de dados, em que nada escolhe tipos por você, e assinar as mensagens serializadas para que as não assinadas nunca sejam restauradas. E alguns mecanismos não podem ser tornados seguros por configuração; a única correção é não usá-los.
Prototype pollution no Node.js: o que o runtime não cobre e como se defender no seu próprio código
Prototype pollution (poluição de protótipo) é o que acontece quando uma chave especial vinda de entrada externa chega aos protótipos nativos do JavaScript, normalmente por um merge recursivo. Dois resultados: propriedades que você nunca definiu aparecem em todo lugar (quebrando verificações de autorização e de opções), ou métodos nativos desaparecem e o app cai num ponto sem relação. O que mais importa é a responsabilidade — o Node.js declara que isso não é uma vulnerabilidade do núcleo do Node.js e que as defesas ficam no nível da aplicação e das dependências. Esperar uma atualização não vai resolver.