Plateforme
php
Composant
phpseclib
Corrigé dans
1.0.28
phpseclib est une bibliothèque PHP de communication sécurisée. Avant les versions 3.0.51, 2.0.53 et 1.0.28, une vulnérabilité permettait une comparaison HMAC SSH variable, potentiellement révélant des informations sensibles. Cette faille est corrigée dans les versions 3.0.51, 2.0.53 et 1.0.28.
La CVE-2026-40194 affecte la bibliothèque phpseclib SSH2, plus précisément la fonction getbinarypacket(). Cette fonction utilise l'opérateur != de PHP pour comparer le HMAC d'un paquet SSH reçu avec le HMAC calculé localement. Bien que PHP utilise memcmp() pour les comparaisons binaires de longueur égale, ce processus peut encore être variable en temps en raison de la manière dont memcmp() se comporte dans certaines implémentations et versions de PHP. Cela introduit une vulnérabilité de comparaison variable en temps (CWE-208). Bien que la gravité soit considérée comme faible (défense en profondeur), la possibilité d'une attaque de canal latéral temporel, bien qu'elle soit difficile à exploiter en pratique, existe. La vulnérabilité a été vérifiée par des tests de performance démontrant des variations dans le temps de comparaison.
L'exploitation de cette vulnérabilité nécessite un attaquant ayant la capacité d'envoyer des paquets SSH malveillants à un serveur vulnérable. L'attaque est basée sur la mesure du temps qu'il faut au serveur pour vérifier le HMAC. De petites différences dans le temps de réponse peuvent révéler des informations sur le HMAC correct. Cependant, la difficulté de ce type d'attaque est considérable, car elle nécessite un contrôle précis de l'environnement réseau et la capacité de réaliser des mesures de temps précises. De plus, les contre-mesures de défense en profondeur, telles que le bruit aléatoire dans le temps de traitement, peuvent rendre l'exploitation encore plus difficile.
Applications utilizing phpseclib SSH2 for SSH2 functionality are at risk. This includes web applications, automation scripts, and any other PHP-based systems relying on this library for secure remote access. Systems with older, unpatched versions of phpseclib SSH2 are particularly vulnerable.
• php: Examine PHP application code for usage of phpseclib SSH2. • php: Check the version of phpseclib SSH2 being used within your PHP applications.
composer show phpseclib\phpseclib• php: Review application logs for SSH connection errors or disconnections, which could indicate attempted exploitation. • generic web: Monitor SSH server logs for unusual connection patterns or frequent disconnections.
disclosure
Statut de l'Exploit
EPSS
0.01% (percentile 2%)
CISA SSVC
Vecteur CVSS
La solution à la CVE-2026-40194 consiste à mettre à niveau vers la version 3.0.51 de phpseclib. Cette version corrige la vulnérabilité en remplaçant la comparaison != par une implémentation de comparaison à temps constant. Il est fortement recommandé de mettre à niveau les applications utilisant phpseclib SSH2 pour atténuer ce risque. De plus, examinez les pratiques de sécurité générales pour assurer une défense en profondeur contre les potentielles attaques de canal latéral. La mise à niveau doit être effectuée dès que possible pour minimiser la fenêtre d'exposition à la vulnérabilité.
Actualice la biblioteca phpseclib a la versión 3.0.51, 2.0.53 o 1.0.28 para mitigar la vulnerabilidad. La actualización reemplaza la comparación insegura con el operador != por la función hash_equals(), que proporciona una comparación segura de cadenas binarias.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
Une attaque de canal latéral temporel exploite les variations dans le temps qu'il faut à un système pour effectuer une opération afin d'extraire des informations confidentielles, telles qu'une clé cryptographique.
Bien qu'une vulnérabilité existe, l'exploitation pratique est difficile et nécessite des conditions spécifiques. Elle est considérée comme une mesure de défense en profondeur.
Si la mise à niveau immédiate n'est pas possible, envisagez de mettre en œuvre des contre-mesures de défense en profondeur, telles que l'ajout de bruit aléatoire au temps de traitement.
Vérifiez la version de phpseclib SSH2 que vous utilisez. Si elle est antérieure à la version 3.0.51, elle est vulnérable.
Actuellement, il n'existe pas d'outils spécifiques pour détecter cette vulnérabilité, mais les audits de code et les tests d'intrusion sont recommandés.
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.