Plateforme
nodejs
Composant
is
Corrigé dans
0.9.1
CVE-2020-26302 est une vulnérabilité de type Denial of Service (DoS) affectant la bibliothèque is.js. Elle exploite une Regex DoS (ReDoS) lors de la validation d'URLs, pouvant mener à une indisponibilité du service. Les versions affectées sont les versions 0.9.0 et antérieures. La version 0.9.1 corrige cette vulnérabilité.
La vulnérabilité CVE-2020-26302 affecte la bibliothèque is.js, une bibliothèque de vérification à usage général. Les versions 0.9.0 et antérieures contiennent des vulnérabilités de Déni de Service par Expression Régulière (ReDoS) en raison d'une expression régulière inefficace utilisée pour valider les URL. Cette expression régulière, copiée à partir d'un gist, peut entrer dans une boucle infinie lors du traitement de chaînes malveillantes, entraînant une consommation excessive des ressources du serveur et une interruption potentielle du service. La gravité de la vulnérabilité est notée 7,5 sur l'échelle CVSS, ce qui indique un risque modérément élevé. L'absence de correctif officiel de la part d'is.js aggrave la situation, nécessitant des stratégies d'atténuation alternatives.
L'exploitation de CVE-2020-26302 consiste à envoyer une URL spécialement conçue à une application qui utilise is.js. Cette URL contient une chaîne qui déclenche la boucle infinie dans l'expression régulière de validation d'URL. L'attaquant n'a pas besoin d'authentification pour exploiter cette vulnérabilité, car elle affecte la logique de validation de la bibliothèque. L'impact peut varier d'une dégradation des performances du serveur à une interruption complète du service, en fonction de la charge du serveur et de la complexité de la chaîne malveillante. La vulnérabilité est particulièrement préoccupante dans les applications web qui traitent de grands volumes d'URL provenant de sources externes.
Applications built using is.js, particularly those that handle user-supplied URLs without proper validation, are at risk. Node.js projects relying on this library are especially vulnerable. Shared hosting environments where multiple applications share the same server resources could experience broader impact from a successful attack.
• nodejs: Monitor CPU usage spikes when validating URLs. Use ps or top to identify processes consuming excessive CPU.
ps aux | grep is.js• generic web: Examine access logs for unusual patterns of URL requests. Look for URLs containing complex or unusual characters.
grep 'complex_url_pattern' /var/log/apache2/access.logdiscovery
disclosure
Statut de l'Exploit
EPSS
0.27% (percentile 51%)
Vecteur CVSS
Étant donné qu'il n'existe pas de correctif officiel d'is.js pour CVE-2020-26302, l'atténuation principale consiste à mettre à niveau vers une version antérieure à 0.9.1 ou à supprimer complètement l'utilisation de is.js si cela est possible. Si la mise à niveau n'est pas possible, il est recommandé de mettre en œuvre un filtre d'entrée robuste pour valider les URL avant de les transmettre à is.js. Ce filtre doit rejeter toute URL contenant des modèles suspects ou des caractères inhabituels. De plus, limiter le temps d'exécution de l'expression régulière peut aider à prévenir les attaques ReDoS, bien que cela puisse affecter la fonctionnalité de la bibliothèque. La surveillance de l'utilisation du processeur et de la mémoire du serveur est essentielle pour détecter les attaques ReDoS potentielles.
Ce paquet contient une vulnérabilité ReDoS. Aucune version corrigée n'existe. Il est recommandé d'évaluer des alternatives à la librairie is.js ou d'implémenter des validations supplémentaires pour les URL avant d'utiliser la fonction vulnérable.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
ReDoS (Regular Expression Denial of Service) est un type d'attaque qui exploite l'inefficacité des expressions régulières pour provoquer une déni de service.
Cette vulnérabilité peut permettre à un attaquant d'interrompre le service d'une application web en la forçant à consommer des ressources excessives.
Non, is.js n'a pas publié de correctif officiel pour cette vulnérabilité.
Mettez en œuvre un filtre d'entrée robuste pour valider les URL avant de les transmettre à is.js et limitez le temps d'exécution de l'expression régulière.
Surveillez l'utilisation du processeur et de la mémoire du serveur. Une augmentation soudaine et soutenue peut indiquer une attaque ReDoS.
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.