PT-2026-67294 · Npm · Axios
CVSS v3.1
6.5
Média
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L |
Nome do Software Vulnerável e Versões Afetadas
axios versões 1.15.2 até 1.17.x
Description
o axios contém gadgets de leitura de poluição de protótipo (prototype pollution) no tratamento de subcampos de autenticação Básica em
lib/adapters/http.js e lib/helpers/resolveConfig.js. Embora o axios não polua protótipos por si só, ele fica vulnerável se a aplicação hospedeira já estiver afetada por um primitivo de poluição de protótipo separado. Quando uma requisição é feita usando um objeto auth que omite as propriedades username e/ou password, o axios lê os valores herdados de Object.prototype.username e Object.prototype.password para construir o cabeçalho de saída 'Authorization: Basic ...'.Isso permite que um atacante que controle os valores do protótipo poluído realize a adulteração de requisições de saída, injetando credenciais de autenticação Básica escolhidas pelo atacante ou substituindo um cabeçalho de Autorização existente. Sob condições específicas da aplicação, isso pode levar à divulgação de credenciais.
Recommendations
Evite passar objetos
auth vazios ou parciais; defina auth apenas quando a aplicação possuir seus próprios valores de username e password.
Aplicações que mesclam entradas não confiáveis devem filtrar as chaves proto, constructor e prototype.
Leia opções opcionais do usuário utilizando verificações de propriedade própria (own-property checks) em vez de padrões como opts.auth || {}.
Quando um wrapper precisar materializar autenticação opcional, utilize um objeto de protótipo nulo ou copie explicitamente apenas os campos próprios.Exploit
Correção
DoS
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
Axios