PT-2020-6962 · Npm+4 · Npm-User-Validate+4

Yeting Li

·

Publicado

2020-10-16

·

Atualizado

2022-07-22

·

CVE-2020-7754

CVSS v3.1

8.1

Alta

VetorAV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
Versões do npm-user-validate anteriores à 1.0.1
Descrição
O problema está relacionado a uma negação de serviço por expressão regular (REDos) no pacote npm-user-validate. A expressão regular usada para validar e-mails de usuários leva um tempo exponencialmente maior para processar cadeias de entrada longas que começam com o caractere @, o que pode levar a uma negação de serviço. A função email é afetada e, se usada para processar entradas arbitrárias do usuário sem limite de caracteres, o aplicativo pode ficar suscetível a negação de serviço.
Recomendações
Para versões anteriores à 1.0.1, atualize para a versão 1.0.1, que aprimora a expressão regular utilizada e impõe um limite de 254 caracteres.
Como solução temporária, considere restringir o comprimento dos caracteres a um nível razoável antes de passar um valor para a função email().
Além disso, considere realizar uma sanitização/validação mais rigorosa previamente.

Exploit

Correção

Resource Exhaustion

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

ALSA-2021:0548
ALSA-2021:0549
ALSA-2021:0551
BDU:2024-01510
CESA-2021_0548
CESA-2021_0549
CESA-2021_0551
CVE-2020-7754
GHSA-PW54-MH39-W3HC
GHSA-XGH6-85XH-479P
OESA-2022-1769
RHSA-2021:0421
RHSA-2021:0485
RHSA-2021:0521
RHSA-2021:0548
RHSA-2021:0549
RHSA-2021:0551
RHSA-2021_0548
RHSA-2021_0549
RHSA-2021_0551
RLSA-2021:0548
RLSA-2021:0549
RLSA-2021:0551
SNYK-JAVA-ORGWEBJARSNPM-1019353
SNYK-JS-NPMUSERVALIDATE-1019352

Produtos afetados

Almalinux
Centos
Red Hat
Rocky Linux
Npm-User-Validate