Read the docs
TI-2026-25383 Aliases CVE-2026-32935GHSA-94g3-g5v7-q4jg

phpseclib's AES-CBC unpadding susceptible to padding oracle timing attack

Priority LOW 36CWE-208Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Attack requirements
None
Impact type
Information disclosure
Confidentiality · integrity · availability
High · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-208.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00398 34th percentileScored 2026-11-07
Fix Fixed phpseclib (phpseclib): 3.0.50, 2.0.52, 1.0.27phpseclib/phpseclib (Packagist): 3.0.50, 2.0.52, 1.0.27

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
phpseclibphpseclib3.0.0 to before 3.0.50; 2.0.0 to before 2.0.52; 0.1.1 to before 1.0.273.0.50, 2.0.52, 1.0.27Patch availableCNA
—phpseclib/phpseclib (Packagist)3.0.0 to before 3.0.503.0.50Patch availableGHSA-94g3-g5v7-q4jg
—phpseclib/phpseclib (Packagist)2.0.0 to before 2.0.522.0.52Patch availableGHSA-94g3-g5v7-q4jg
—phpseclib/phpseclib (Packagist)0.1.1 to before 1.0.271.0.27Patch availableGHSA-94g3-g5v7-q4jg
  • phpseclib Vendorphpseclib Affected 3.0.0 to before 3.0.50; 2.0.0 to before 2.0.52; 0.1.1 to before 1.0.27 Fixed in 3.0.50, 2.0.52, 1.0.27 Patch available CNA
  • phpseclib/phpseclib (Packagist) Vendor— Affected 3.0.0 to before 3.0.50 Fixed in 3.0.50 Patch available GHSA-94g3-g5v7-q4jg
  • phpseclib/phpseclib (Packagist) Vendor— Affected 2.0.0 to before 2.0.52 Fixed in 2.0.52 Patch available GHSA-94g3-g5v7-q4jg
  • phpseclib/phpseclib (Packagist) Vendor— Affected 0.1.1 to before 1.0.27 Fixed in 1.0.27 Patch available GHSA-94g3-g5v7-q4jg

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:phpseclib:phpseclib:*:*:*:*:*:*:*:*before 1.0.27; 2.0.0 to before 2.0.52; 3.0.0 to before 3.0.50Vulnerablephpseclib
  • cpe:2.3:a:phpseclib:phpseclib:*:*:*:*:*:*:*:* Versions before 1.0.27; 2.0.0 to before 2.0.52; 3.0.0 to before 3.0.50 Vulnerable ·phpseclib

Remediation

  • Fix · CNA phpseclib (phpseclib) Fixed in 3.0.50, 2.0.52, 1.0.27
  • Fix · GHSA-94g3-g5v7-q4jg phpseclib/phpseclib (Packagist) Fixed in 3.0.50 Advisory →
  • Fix · GHSA-94g3-g5v7-q4jg phpseclib/phpseclib (Packagist) Fixed in 2.0.52 Advisory →
  • Fix · GHSA-94g3-g5v7-q4jg phpseclib/phpseclib (Packagist) Fixed in 1.0.27 Advisory →

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-32935
  2. 2026-10-03 Alias added: GHSA-94g3-g5v7-q4jg

References

  • TI-2026-40135 Server-side request forgery in phpseclib CVSS 3.1MEDIUM 5.8
  • TI-2026-29008 phpseclib has a variable-time HMAC comparison in SSH2::get_binary_packet() using != instead of hash_equals() CVSS 3.1LOW 3.7
  • TI-2023-29213 In phpseclib before 1.0.22, 2.x before 2.0.46, and 3.x before 3.0.33, some characters in… CVSS 3.1HIGH 7.5
  • TI-2024-18192 An issue was discovered in phpseclib 1.x before 1.0.23, 2.x before 2.0.47, and 3.x before… CVSS 3.1HIGH 7.5
  • TI-2024-18191 An issue was discovered in phpseclib 1.x before 1.0.23, 2.x before 2.0.47, and 3.x before… CVSS 3.1HIGH 7.5
  • TI-2023-12272 Math/PrimeField.php in phpseclib 3.x before 3.0.19 has an infinite loop with composite primefields. CVSS 3.1HIGH 7.5
See all 8 →

Sources