{"id":"CVE-2020-26263","details":"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.","aliases":["GHSA-wvcv-832q-fjg7","PYSEC-2020-143"],"modified":"2026-08-27T08:40:15.733650Z","published":"2020-12-21T17:15:12.637Z","references":[{"type":"FIX","url":"https://github.com/tlsfuzzer/tlslite-ng/commit/c28d6d387bba59d8bd5cb3ba15edc42edf54b368"},{"type":"FIX","url":"https://github.com/tlsfuzzer/tlslite-ng/pull/438"},{"type":"FIX","url":"https://github.com/tlsfuzzer/tlslite-ng/pull/439"},{"type":"FIX","url":"https://github.com/tlsfuzzer/tlslite-ng/security/advisories/GHSA-wvcv-832q-fjg7"},{"type":"PACKAGE","url":"https://pypi.org/project/tlslite-ng/"},{"type":"EVIDENCE","url":"https://securitypitfalls.wordpress.com/2018/08/03/constant-time-compare-in-python/"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/tlsfuzzer/tlslite-ng","events":[{"introduced":"0"},{"fixed":"cc8fa0b3c3a49d85b8a5f4c2643f99bcd11de4d8"},{"introduced":"ddaf97b06e14603617a8fe35e6039f9bf6070381"},{"last_affected":"2b9c15f697e465e117ff57b89f3ea1537de722e3"},{"fixed":"c28d6d387bba59d8bd5cb3ba15edc42edf54b368"}],"database_specific":{"cpe":["cpe:2.3:a:tlslite-ng_project:tlslite-ng:*:*:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha1:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha10:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha11:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha12:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha13:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha14:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha15:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha16:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha17:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha18:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha19:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha2:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha20:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha21:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha22:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha23:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha24:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha25:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha26:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha27:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha28:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha29:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha3:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha30:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha31:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha32:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha33:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha34:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha35:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha36:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha37:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha38:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha4:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha5:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha6:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha7:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha8:*:*:*:*:*:*","cpe:2.3:a:tlslite-ng_project:tlslite-ng:0.8.0:alpha9:*:*:*:*:*:*"],"extracted_events":[{"introduced":"0"},{"fixed":"0.7.6"},{"introduced":"0.8.0-alpha1"},{"last_affected":"0.8.0-alpha1"},{"introduced":"0.8.0-alpha10"},{"last_affected":"0.8.0-alpha10"},{"introduced":"0.8.0-alpha11"},{"last_affected":"0.8.0-alpha11"},{"introduced":"0.8.0-alpha12"},{"last_affected":"0.8.0-alpha12"},{"introduced":"0.8.0-alpha13"},{"last_affected":"0.8.0-alpha13"},{"introduced":"0.8.0-alpha14"},{"last_affected":"0.8.0-alpha14"},{"introduced":"0.8.0-alpha15"},{"last_affected":"0.8.0-alpha15"},{"introduced":"0.8.0-alpha16"},{"last_affected":"0.8.0-alpha16"},{"introduced":"0.8.0-alpha17"},{"last_affected":"0.8.0-alpha17"},{"introduced":"0.8.0-alpha18"},{"last_affected":"0.8.0-alpha18"},{"introduced":"0.8.0-alpha19"},{"last_affected":"0.8.0-alpha19"},{"introduced":"0.8.0-alpha2"},{"last_affected":"0.8.0-alpha2"},{"introduced":"0.8.0-alpha20"},{"last_affected":"0.8.0-alpha20"},{"introduced":"0.8.0-alpha21"},{"last_affected":"0.8.0-alpha21"},{"introduced":"0.8.0-alpha22"},{"last_affected":"0.8.0-alpha22"},{"introduced":"0.8.0-alpha23"},{"last_affected":"0.8.0-alpha23"},{"introduced":"0.8.0-alpha24"},{"last_affected":"0.8.0-alpha24"},{"introduced":"0.8.0-alpha25"},{"last_affected":"0.8.0-alpha25"},{"introduced":"0.8.0-alpha26"},{"last_affected":"0.8.0-alpha26"},{"introduced":"0.8.0-alpha27"},{"last_affected":"0.8.0-alpha27"},{"introduced":"0.8.0-alpha28"},{"last_affected":"0.8.0-alpha28"},{"introduced":"0.8.0-alpha29"},{"last_affected":"0.8.0-alpha29"},{"introduced":"0.8.0-alpha3"},{"last_affected":"0.8.0-alpha3"},{"introduced":"0.8.0-alpha30"},{"last_affected":"0.8.0-alpha30"},{"introduced":"0.8.0-alpha31"},{"last_affected":"0.8.0-alpha31"},{"introduced":"0.8.0-alpha32"},{"last_affected":"0.8.0-alpha32"},{"introduced":"0.8.0-alpha33"},{"last_affected":"0.8.0-alpha33"},{"introduced":"0.8.0-alpha34"},{"last_affected":"0.8.0-alpha34"},{"introduced":"0.8.0-alpha35"},{"last_affected":"0.8.0-alpha35"},{"introduced":"0.8.0-alpha36"},{"last_affected":"0.8.0-alpha36"},{"introduced":"0.8.0-alpha37"},{"last_affected":"0.8.0-alpha37"},{"introduced":"0.8.0-alpha38"},{"last_affected":"0.8.0-alpha38"},{"introduced":"0.8.0-alpha4"},{"last_affected":"0.8.0-alpha4"},{"introduced":"0.8.0-alpha5"},{"last_affected":"0.8.0-alpha5"},{"introduced":"0.8.0-alpha6"},{"last_affected":"0.8.0-alpha6"},{"introduced":"0.8.0-alpha7"},{"last_affected":"0.8.0-alpha7"},{"introduced":"0.8.0-alpha8"},{"last_affected":"0.8.0-alpha8"},{"introduced":"0.8.0-alpha9"},{"last_affected":"0.8.0-alpha9"}],"source":["CPE_RANGE","CPE_STRING","REFERENCES"]}}],"versions":["0.8.0-alpha1","0.8.0-alpha10","0.8.0-alpha11","0.8.0-alpha12","0.8.0-alpha13","0.8.0-alpha14","0.8.0-alpha15","0.8.0-alpha16","0.8.0-alpha17","0.8.0-alpha18","0.8.0-alpha19","0.8.0-alpha2","0.8.0-alpha20","0.8.0-alpha21","0.8.0-alpha22","0.8.0-alpha23","0.8.0-alpha24","0.8.0-alpha25","0.8.0-alpha26","0.8.0-alpha27","0.8.0-alpha28","0.8.0-alpha29","0.8.0-alpha3","0.8.0-alpha30","0.8.0-alpha31","0.8.0-alpha32","0.8.0-alpha33","0.8.0-alpha34","0.8.0-alpha35","0.8.0-alpha36","0.8.0-alpha37","0.8.0-alpha38","0.8.0-alpha4","0.8.0-alpha5","0.8.0-alpha6","0.8.0-alpha7","0.8.0-alpha8","0.8.0-alpha9","v0.7.5","v0.7.4","v0.8.0-alpha9","v0.8.0-alpha8","v0.8.0-alpha7","v0.8.0-alpha6","v0.8.0-alpha5","v0.8.0-alpha4","v0.8.0-alpha3","v0.7.3","v0.8.0-alpha2","v0.7.2","v0.7.1","v0.7.0","v0.8.0-alpha1","v0.7.0-beta1","v0.7.0-alpha9","v0.7.0-alpha8","v0.7.0-alpha7","v0.7.0-alpha6","v0.7.0-alpha5","v0.7.0-alpha4","v0.7.0-alpha3","v0.7.0-alpha2","v0.7.0-alpha1","v0.6.0","v0.6.0-beta1","v0.6.0-alpha5","v0.6.0-alpha4","v0.5.1","v0.6.0-alpha3","v0.6.0-alpha2","v0.6.0-alpha1","v0.5.0","v0.5.0-beta6","v0.5.0-beta4","v0.5.0-beta3","fork-start","v0.4.8","v0.4.3","v0.4.2","v0.4.1","v0.3.9x"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-26263.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"}]}