Plattform
php
Komponente
phpseclib
Behoben in
1.0.28
phpseclib is a PHP library providing secure communication functionalities. A vulnerability has been identified in the getbinarypacket() function, where the HMAC comparison uses an insecure method. This results in a variable-time comparison, potentially enabling timing attacks. This impacts versions 1.0.0 through 3.0.50, as well as 2.0.53.
CVE-2026-40194 betrifft die phpseclib SSH2-Bibliothek, insbesondere die Funktion getbinarypacket(). Diese Funktion verwendet den Operator != von PHP, um den HMAC eines empfangenen SSH-Pakets mit dem lokal berechneten HMAC zu vergleichen. Obwohl PHP memcmp() für binäre Vergleiche gleicher Länge verwendet, kann dieser Prozess immer noch zeitvariabel sein, da memcmp() in bestimmten PHP-Implementierungen und Versionen unterschiedlich funktioniert. Dies führt zu einer zeitvariablen Vergleichsschwachstelle (CWE-208). Obwohl die Schwere als gering (Defense-in-Depth) eingestuft wird, besteht die Möglichkeit eines Timing-Side-Channel-Angriffs, der jedoch in der Praxis schwer auszunutzen ist. Die Schwachstelle wurde durch Leistungstests verifiziert, die Variationen in der Vergleichszeit zeigen.
Die Ausnutzung dieser Schwachstelle erfordert einen Angreifer, der in der Lage ist, bösartige SSH-Pakete an einen anfälligen Server zu senden. Der Angriff basiert auf der Messung der Zeit, die der Server benötigt, um den HMAC zu verifizieren. Kleine Unterschiede in der Antwortzeit können Informationen über den korrekten HMAC preisgeben. Die Schwierigkeit dieser Art von Angriff ist jedoch beträchtlich, da sie eine präzise Kontrolle über die Netzwerkumgebung und die Fähigkeit erfordert, genaue Zeitmessungen durchzuführen. Darüber hinaus können Defense-in-Depth-Gegenmaßnahmen wie zufälliges Rauschen in der Verarbeitungszeit die Ausnutzung weiter erschweren.
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
Exploit-Status
EPSS
0.01% (2% Perzentil)
CISA SSVC
CVSS-Vektor
Die Lösung für CVE-2026-40194 ist das Upgrade auf Version 3.0.51 von phpseclib. Diese Version behebt die Schwachstelle, indem sie den !=-Vergleich durch eine Implementierung des zeitkonstanten Vergleichs ersetzt. Es wird dringend empfohlen, Anwendungen zu aktualisieren, die phpseclib SSH2 verwenden, um dieses Risiko zu mindern. Überprüfen Sie außerdem die allgemeinen Sicherheitspraktiken, um eine Defense-in-Depth gegen potenzielle Side-Channel-Angriffe zu gewährleisten. Das Update sollte so bald wie möglich durchgeführt werden, um das Expositionsfenster zu minimieren.
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.
Schwachstellenanalysen und kritische Warnungen direkt in deinen Posteingang.
Ein Timing-Side-Channel-Angriff nutzt Variationen in der Zeit aus, die ein System benötigt, um eine Operation auszuführen, um vertrauliche Informationen wie einen kryptografischen Schlüssel zu extrahieren.
Obwohl eine Schwachstelle besteht, ist die praktische Ausnutzung schwierig und erfordert bestimmte Bedingungen. Sie wird als Defense-in-Depth-Maßnahme betrachtet.
Wenn ein sofortiges Update nicht möglich ist, sollten Sie Defense-in-Depth-Gegenmaßnahmen implementieren, z. B. das Hinzufügen von zufälligem Rauschen zur Verarbeitungszeit.
Überprüfen Sie die Version von phpseclib SSH2, die Sie verwenden. Wenn sie älter als Version 3.0.51 ist, ist sie anfällig.
Derzeit gibt es keine spezifischen Tools zur Erkennung dieser Schwachstelle, aber Code-Audits und Penetrationstests werden empfohlen.
Lade deine Abhängigkeitsdatei hoch und erfahre sofort, ob dich diese und andere CVEs treffen.