Vulnerabilidad en el descifrado RSA PKCS#1 en los protocolos criptográficos SSL y TLS en la biblioteca de Pynton tlslite-ng (CVE-2020-26263)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-326
Fortaleza de cifrado inadecuada
Fecha de publicación:
21/12/2020
Última modificación:
23/12/2020
Descripción
tlslite-ng es una biblioteca de Python de código abierto que implementa protocolos criptográficos SSL y TLS. En tlslite-ng versiones anteriores a 0.7.6 y 0.8.0-alpha39, el código que lleva a cabo el descifrado y la comprobación de relleno en el descifrado RSA PKCS#1 versión v1.5 es dependiente de los datos. En particular, el código presenta varias formas en la cual se filtra información sobre el texto cifrado descifrado. Anula tan pronto como el texto plano no comience con 0x00, 0x02. Todos los servidores TLS que permiten el intercambio de claves RSA, así como las aplicaciones que usan la API de descifrado RSA directamente, son vulnerables. Esto está parcheado en las versiones 0.7.6 y 0.8.0-alpha39. Nota: los parches dependen de que Python procese los bytes individuales de manera libre de canal lateral, se sabe que este no es el caso (ver referencia). Como tal, se recomienda a los usuarios que requieren resistencia de canal lateral que utilicen diferentes implementaciones de TLS
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Puntuación base 2.0
5.00
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:tlslite-ng_project:tlslite-ng:*:*:*:*:*:*:*:* | 0.7.6 (excluyendo) | |
| 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:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- 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/



