CVE-2020-26263 json
RSA vulnerability in tslite-ng
published 2020-12-21 5 y ago modified 2026-07-08 4 mo ago also GHSA-wvcv-832q-fjg7 , PYSEC-2020-143 , EUVD-2020-0221
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.5%
- EPSS 1.5% chance of exploitation in 30 days, percentile 74%
- public exploits
- 0
- none known
Summary
tlslite-ng is an open source python library that implements SSL and TLS cryptographic protocols. In tlslite-ng before versions 0.7.6 and 0.8.0-alpha39, the code that performs decryption and padding check in RSA PKCS#1 v1.5 decryption is data dependant. In particular, the code has multiple ways in which it leaks information about the decrypted ciphertext. It aborts as soon as the plaintext doesn't start with 0x00, 0x02. All TLS servers that enable RSA key exchange as well as applications that use the RSA decryption API directly are vulnerable. This is patched in versions 0.7.6 and 0.8.0-alpha39. Note: the patches depend on Python processing the individual bytes in side-channel free manner, this is known to not the case (see reference). As such, users that require side-channel resistance are recommended to use different TLS implementations, as stated in the security policy of tlslite-ng.
Patch / fix
- pypi tlslite-ng 0.7.6
- tlslite-ng_project tlslite-ng 0.7.6
- github.com/tlsfuzzer/tlslite-ng@c28d6d3 commit
- github.com/tlsfuzzer/tlslite-ng#438 pull request
- github.com/tlsfuzzer/tlslite-ng#439 pull request
- github.com/tlsfuzzer/tlslite-ng/security/advisories/GHSA-wvcv-832q-fj… advisory
Exploit prediction
1.52% chance of exploitation in the next 30 days, higher than 74% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/tlsfuzzer/tlslite-ng/security/advisories/GHSA-wvcv-832q-fjg7 referenced PoC, tagged "exploit" by a source, unverified
- securitypitfalls.wordpress.com https://securitypitfalls.wordpress.com/2018/08/03/constant-time-compare-in-python/ referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:P/I:N/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | tlslite-ng | <0.7.6 |
0.7.6 |
Affected products
- tlsfuzzer tlslite-ng
Classification
- Weakness
-
- CWE-326 Inadequate Encryption Strength
References
-
github.com
/tlsfuzzer/tlslite-ng/pull/438
web, patch, third-party-advisory
-
github.com
/tlsfuzzer/tlslite-ng/pull/439
web, patch, third-party-advisory
-
github.com
/tlsfuzzer/tlslite-ng/commit/c28d6d387bba59d8bd5cb3ba15edc42edf54b368
web, patch, third-party-advisory
-
github.com
/tlsfuzzer/tlslite-ng/security/advisories/GHSA-wvcv-832q-fjg7
web, exploit, patch, third-party-advisory, advisory
-
securitypitfalls.wordpress.com
/2018/08/03/constant-time-compare-in-python/
exploit, third-party-advisory, web
-
pypi.org
/project/tlslite-ng/
product, third-party-advisory, package
-
nvd.nist.gov
/vuln/detail/CVE-2020-26263
advisory
-
github.com
/pypa/advisory-database/tree/main/vulns/tlslite-ng/PYSEC-2020-143.yaml
web
-
github.com
/tlsfuzzer/tlslite-ng
package
-
pypi.org
/project/tlslite-ng
web
-
securitypitfalls.wordpress.com
/2018/08/03/constant-time-compare-in-python
web
Sources
- CVE List CVE-2020-26263
- GitHub Advisory GHSA-wvcv-832q-fjg7
- NVD CVE-2020-26263
- OSV PYSEC-2020-143
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.