PT-2026-67301 · Npm · Axios
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Nome do Software Vulnerável e Versões Afetadas
axios versões 0.31.1 até 0.32.x
axios versões 1.15.1 até 1.17.x
Description
Existe uma falha incompleta de limite de profundidade em
lib/helpers/toFormData.js ao serializar objetos com chaves de nível superior que terminam em {}. Quando tal chave está presente, o software chama JSON.stringify() no valor antes que a proteção formSerializer.maxDepth possa inspecionar a estrutura aninhada. Um invasor que controle as chaves do objeto e os valores aninhados passados para a serialização de formulários ou parâmetros do axios pode disparar um RangeError (Maximum call stack size exceeded), causando a negação de serviço no caminho da requisição afetado.Este problema afeta os seguintes componentes:
lib/helpers/toFormData.js(especificamente a funçãodefaultVisitor())lib/helpers/toURLEncodedForm.jslib/helpers/AxiosURLSearchParams.js- Transformações de requisição em
lib/defaults/index.jsao usarmultipart/form-dataouapplication/x-www-form-urlencoded.
Recommendations
Atualize o axios para a versão 0.33.0 ou posterior.
Atualize o axios para a versão 1.18.0 ou posterior.
Como solução temporária, rejeite ou limite a profundidade de objetos não confiáveis antes de passá-los para a serialização do axios.
Remova ou rejeite chaves de nível superior que terminem em
{} de objetos não confiáveis ao usar a serialização de formulários do axios.
Para parâmetros de consulta, use um paramsSerializer.serialize personalizado que aplique um limite de profundidade.
Para corpos de formulário, construa FormData ou URLSearchParams manualmente após validar a profundidade da entrada.Exploit
Correção
DoS
Uncontrolled Recursion
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Axios