CVE-2026-40194

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:phpseclib:phpseclib:*:*:*:*:*:*:*:*
cpe:2.3:a:phpseclib:phpseclib:*:*:*:*:*:*:*:*
cpe:2.3:a:phpseclib:phpseclib:*:*:*:*:*:*:*:*

History

No history.

Information

Published : 2026-04-10 21:16

Updated : 2026-06-17 10:44


NVD link : CVE-2026-40194

Mitre link : CVE-2026-40194

CVE.ORG link : CVE-2026-40194


JSON object : View

Products Affected

phpseclib

  • phpseclib
CWE
CWE-208

Observable Timing Discrepancy