CVE-2026-32935 phpseclib's AES-CBC unpadding susceptible to padding oracle timing attack
Attackers can exploit timing differences in AES-CBC unpadding to perform padding oracle attacks, potentially revealing plaintext data.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-32935?
CVE-2026-32935 is a high-severity vulnerability in phpseclib, published on 20 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
phpseclib is a PHP secure communications library. Projects using versions 0.1.1 through 1.0.26, 2.0.0 through 2.0.51, and 3.0.0 through 3.0.49 are vulnerable to a to padding oracle timing attack when using AES in CBC mode. This issue has been fixed in versions 1.0.27, 2.0.52 and 3.0.50.
Weakness: CWE-208
Which versions are affected by CVE-2026-32935?
6 open source packages ship an affected version, including phpseclib/phpseclib. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
phpseclib/phpseclib Packagist | From 0.1.1 | 1.0.27 |
phpseclib/phpseclib Packagist | From 0.1.1 | 1.0.27 |
phpseclib/phpseclib Packagist | From 2.0.0 | 2.0.52 |
phpseclib/phpseclib Packagist | From 2.0.0 | 2.0.52 |
phpseclib/phpseclib Packagist | From 3.0.0 | 3.0.50 |
phpseclib/phpseclib Packagist | From 3.0.0 | 3.0.50 |
Products include Phpseclib Phpseclib.
How do I fix CVE-2026-32935?
Upgrade phpseclib/phpseclib to a fixed version for your release line: 1.0.27, 2.0.52 or 3.0.50.
Is CVE-2026-32935 being exploited?
There is no known exploitation of CVE-2026-32935 in the wild and no public exploit code.
Other vulnerabilities in phpseclib
- CVE-2023-52892 Name confusion in x509 Subject Alternative Name fields
- CVE-2023-49316 Phpseclib needs guardrails on large binaryfield integers
- CVE-2023-27560 phpseclib Infinite Loop vulnerability
- CVE-2026-55599 phpseclib: X.509 certificate validation sends attacker-controlled outbound requests (server-side request forgery) via Authority Information Access
- CVE-2026-40194 phpseclib has a variable-time HMAC comparison in SSH2::get_binary_packet() using != instead of hash_equals()
Sources
Also known as DEBIAN-CVE-2026-32935, DSA-6185-1, DSA-6186-1, DSA-6187-1, GHSA-94g3-g5v7-q4jg, UBUNTU-CVE-2026-32935.