PT-2024-40174 · Derby · Derby
Publicado
2024-04-17
·
Atualizado
2024-04-17
Nenhuma
Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
Nome do software vulnerável e versões afetadas:
derby (versões afetadas não especificadas)
Descrição:
Um problema de contaminação de protótipo no derby pode causar a falha da aplicação se o autor da aplicação tiver modelos HTML atípicos que insiram entradas do usuário em uma chave de objeto. As chaves de atributos são normalmente controladas pelo desenvolvedor, e não pelo usuário final, o que minimiza o impacto prático para a maioria das aplicações. A função
emit() é chamada sem sanitizar a variável this.lastSegment, permitindo que ela seja definida como proto e contamine o protótipo do objeto JavaScript.Recomendações:
Para resolver este problema, adicione uma verificação em
this.lastSegment para impedir o ataque. Modifique a função emit() da seguinte forma:
emit(context: Context, target: T) {
const node = traverseAndCreate(context.controller, this.segments);
if (this.lastSegment.includes(‘ proto ’) || this.lastSegment.includes(‘prototype’)) {
throw new Error(‘Código inseguro detectado’);
}
node[this.lastSegment] = target;
this.addListeners(target, node, this.lastSegment);
}
Prototype Pollution
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Derby