Platform
php
Component
phpseclib
Opgelost in
1.0.28
phpseclib is een PHP secure communications library. Voorafgaand aan versie 3.0.51, 2.0.53 en 1.0.28 gebruikte phpseclib\Net\SSH2::getbinarypacket() de PHP != operator om een ontvangen SSH packet HMAC te vergelijken met de lokaal berekende HMAC. De != operator op strings van gelijke lengte in PHP gebruikt memcmp(), wat short-circuits bij de eerste verschillen. Dit resulteert in een real variable-time comparison. Deze kwetsbaarheid is verholpen in 3.0.51, 2.0.53 en 1.0.28.
CVE-2026-40194 beïnvloedt de phpseclib SSH2-bibliotheek, specifiek de functie getbinarypacket(). Deze functie gebruikt de !=-operator van PHP om de HMAC van een ontvangen SSH-pakket te vergelijken met de lokaal berekende HMAC. Hoewel PHP memcmp() gebruikt voor binaire vergelijkingen van gelijke lengte, kan dit proces nog steeds tijdvariabel zijn vanwege de manier waarop memcmp() zich gedraagt in bepaalde PHP-implementaties en versies. Dit introduceert een tijdvariabele vergelijkingskwetsbaarheid (CWE-208). Hoewel de ernst als laag wordt beschouwd (defense-in-depth), bestaat er de mogelijkheid van een timing side-channel aanval, hoewel deze in de praktijk moeilijk te exploiteren is. De kwetsbaarheid is geverifieerd door middel van prestatie benchmarks die variaties in de vergelijkingstijd aantonen.
Het exploiteren van deze kwetsbaarheid vereist een aanvaller die in staat is om kwaadaardige SSH-pakketten naar een kwetsbare server te sturen. De aanval is gebaseerd op het meten van de tijd die de server nodig heeft om de HMAC te verifiëren. Kleine verschillen in de responstijd kunnen informatie over de correcte HMAC onthullen. De moeilijkheidsgraad van dit type aanval is echter aanzienlijk, omdat het een nauwkeurige controle over de netwerkomgeving en de mogelijkheid vereist om nauwkeurige tijdmetingen uit te voeren. Bovendien kunnen defense-in-depth tegenmaatregelen, zoals willekeurig ruis in de verwerkingstijd, de exploitatie verder compliceren.
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% percentiel)
CISA SSVC
CVSS-vector
De oplossing voor CVE-2026-40194 is het upgraden naar versie 3.0.51 van phpseclib. Deze versie corrigeert de kwetsbaarheid door de !=-vergelijking te vervangen door een implementatie van tijdconstante vergelijking. Het wordt sterk aanbevolen om applicaties die phpseclib SSH2 gebruiken te updaten om dit risico te beperken. Controleer bovendien de algemene beveiligingspraktijken om een defense-in-depth tegen potentiële side-channel aanvallen te waarborgen. De update moet zo snel mogelijk worden uitgevoerd om het blootstellingsvenster te minimaliseren.
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.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
Een timing side-channel aanval maakt gebruik van variaties in de tijd die een systeem nodig heeft om een operatie uit te voeren om vertrouwelijk informatie, zoals een cryptografische sleutel, te extraheren.
Hoewel er een kwetsbaarheid bestaat, is praktische exploitatie moeilijk en vereist het specifieke omstandigheden. Het wordt beschouwd als een defense-in-depth maatregel.
Als een onmiddellijke upgrade niet mogelijk is, overweeg dan het implementeren van defense-in-depth tegenmaatregelen, zoals het toevoegen van willekeurige ruis aan de verwerkingstijd.
Controleer de versie van phpseclib SSH2 die u gebruikt. Als deze ouder is dan versie 3.0.51, is deze kwetsbaar.
Momenteel zijn er geen specifieke tools voor het detecteren van deze kwetsbaarheid, maar code-audits en penetratietests worden aanbevolen.
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.