CVE-2020-26263
What it is
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.
At a glance
- Exploitability
- Can be exploited over the network without logging in. High risk of data tampering.
- Exploit odds
- 1.5% chance of exploitation in the next 30 days (EPSS).
- Fix
- A patch, advisory or fixed version is referenced. Upgrade or apply it.
Timeline
- PublishedDisclosed publicly on CVE.org and NVD
- Last updatedMost recent change to the record
Why it ranks here
- Exploited in the wild: no, CISA does not list it.
- Exploit odds: 1.5% in the next 30 days (EPSS).
- Severity: 7.5 HIGH (CVSS).
- Fix: a patch or advisory is linked.
Details
- Published
- Last modified
- Exploit probability
- 1.5% · EPSS, next 30 days
- Weakness
- CWE-326 · Inadequate encryption strength
- Record status
- Modified
Affected
- tlslite-ng Project tlslite-ng < 0.7.6
- tlslite-ng Project tlslite-ng 0.8.0
Attack profile CVSS 3.1 · 7.5
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Is it in your code?
Hand this to your coding agent. It searches your project for the affected products and checks versions. Nothing leaves your machine.
Read https://cve-list.com/agent/cve/CVE-2020-26263.md and follow it. Check whether this project is affected by CVE-2020-26263. Read only. Don't change anything and don't upload my code. Tell me yes, no or not sure, with the file as proof.
Fix and advisories
- https://github.com/tlsfuzzer/tlslite-ng/commit/c28d6d387bba59d8bd5cb3ba15edc42edf54b368
- https://github.com/tlsfuzzer/tlslite-ng/pull/438
- https://github.com/tlsfuzzer/tlslite-ng/pull/439
- https://github.com/tlsfuzzer/tlslite-ng/security/advisories/GHSA-wvcv-832q-fjg7
- https://github.com/tlsfuzzer/tlslite-ng/commit/c28d6d387bba59d8bd5cb3ba15edc42edf54b368
- https://github.com/tlsfuzzer/tlslite-ng/pull/438
- https://github.com/tlsfuzzer/tlslite-ng/pull/439
- https://github.com/tlsfuzzer/tlslite-ng/security/advisories/GHSA-wvcv-832q-fjg7
References
- https://github.com/tlsfuzzer/tlslite-ng/commit/c28d6d387bba59d8bd5cb3ba15edc42edf54b368
- https://github.com/tlsfuzzer/tlslite-ng/pull/438
- https://github.com/tlsfuzzer/tlslite-ng/pull/439
- https://github.com/tlsfuzzer/tlslite-ng/security/advisories/GHSA-wvcv-832q-fjg7
- https://pypi.org/project/tlslite-ng/
- https://securitypitfalls.wordpress.com/2018/08/03/constant-time-compare-in-python/
- https://github.com/tlsfuzzer/tlslite-ng/commit/c28d6d387bba59d8bd5cb3ba15edc42edf54b368
- https://github.com/tlsfuzzer/tlslite-ng/pull/438
- https://github.com/tlsfuzzer/tlslite-ng/pull/439
- https://github.com/tlsfuzzer/tlslite-ng/security/advisories/GHSA-wvcv-832q-fjg7
- https://pypi.org/project/tlslite-ng/
- https://securitypitfalls.wordpress.com/2018/08/03/constant-time-compare-in-python/