CVE-2026-40194

Low

Description

phpseclib is a PHP secure communications library. Starting in 0.1.1 and prior to 3.0.51, 2.0.53, and 1.0.28, phpseclib\Net\SSH2::get_binary_packet() uses PHP's != operator to compare a received SSH packet HMAC against the locally computed HMAC. != on equal-length binary strings in PHP uses memcmp(), which short-circuits on the first differing byte. This is a real variable-time comparison (CWE-208), proven by scaling benchmarks. This vulnerability is fixed in 3.0.51, 2.0.53, and 1.0.28.

SeverityLow
CVSS3.7
Exploit probability—
ProductPhpseclib
PublishedApr 10, 2026
First seenApr 10, 2026
Weakness typeCWE-208CWE-208

How to fix

Update
  • phpseclib phpseclib2.0.53, 3.0.51 or later
  • phpseclib/phpseclib1.0.28, 2.0.53, 3.0.51 or later

Affected products

ProductAffected versionsFixed in
phpseclib phpseclibv ≤ 1.0.27, 2.0.0 ≤ v < 2.0.53, 3.0.0 ≤ v < 3.0.512.0.53, 3.0.51
phpseclib/phpseclibPackagist0.1.1 ≤ v < 1.0.28, 2.0.0 ≤ v < 2.0.53, 3.0.0 ≤ v < 3.0.511.0.28, 2.0.53, 3.0.51

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.