Vulnerabilidad en la función RSA_padding_check_SSLv23() en el modo de relleno RSA_SSLV23_PADDING en OpenSSL (CVE-2021-23839)
Gravedad CVSS v3.1:
BAJA
Tipo:
CWE-327
Uso de algoritmo criptográfico vulnerable o inseguro
Fecha de publicación:
16/02/2021
Última modificación:
21/06/2024
Descripción
OpenSSL versión 1.0.2 soporta SSLv2. Si un cliente intenta negociar SSLv2 con un servidor que está configurado para soportar tanto SSLv2 como versiones más recientes de SSL y TLS, entonces se hace una comprobación de un ataque de retroceso de versión cuando se deshace una firma RSA. Los clientes que soportan versiones de SSL o TLS superiores a SSLv2 deben usar una forma especial de relleno. Un servidor que soporta una versión superior a SSLv2 debe rechazar los intentos de conexión de un cliente en el que esté presente esta forma especial de relleno, porque esto indica que se ha producido un retroceso de versión (es decir, tanto el cliente como el servidor soportan una versión superior a SSLv2, y sin embargo esta es la versión que se está requiriendo). La implementación de esta comprobación de padding invirtió la lógica para que el intento de conexión sea aceptado si el padding está presente, y rechazado si está ausente. Esto significa que tal servidor aceptará una conexión si se ha producido un ataque de retroceso de versión. Además, el servidor rechazará erróneamente una conexión si se realiza un intento de conexión SSLv2 normal. Sólo los servidores OpenSSL versión 1.0.2 desde la versión 1.0.2s hasta la 1.0.2x están afectados por este problema. Para ser vulnerable, un servidor versión 1.0.2 debe 1) haber configurado la compatibilidad con SSLv2 en tiempo de compilación (está desactivada por defecto), 2) haber configurado la compatibilidad con SSLv2 en tiempo de ejecución (está deshabilitada por defecto), 3) haber configurado los ciphersuites de SSLv2 (no están en la lista de ciphersuites por defecto) OpenSSL versión 1.1.1 no presenta compatibilidad con SSLv2 y, por tanto, no es vulnerable a este problema. El error subyacente está en la implementación de la función RSA_padding_check_SSLv23(). Esto también afecta al modo de relleno RSA_SSLV23_PADDING usado por otras funciones. Aunque la versión 1.1.1 no soporta SSLv2, la función RSA_padding_check_SSLv23() sigue existiendo, al igual que el modo de relleno RSA_SSLV23_PADDING. Las aplicaciones que llamen directamente a esa función o utilicen ese modo de relleno se encontrarán con este problema. Sin embargo, como no existe soporte para el protocolo SSLv2 en la versión 1.1.1, esto se considera un error y no un problema de seguridad en esa versión. OpenSSL versión 1.0.2 está fuera de soporte y ya no recibe actualizaciones públicas. Los clientes de soporte Premium de OpenSSL versión 1.0.2 deben actualizar a la versión 1.0.2y. Los demás usuarios deben actualizar a la versión 1.1.1j. Corregido en OpenSSL versión 1.0.2y (Afectó versiones 1.0.2s-1.0.2x)
Impacto
Puntuación base 3.x
3.70
Gravedad 3.x
BAJA
Puntuación base 2.0
4.30
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 1.0.2s (incluyendo) | 1.0.2x (incluyendo) |
| cpe:2.3:a:oracle:business_intelligence:5.5.0.0.0:*:*:*:enterprise:*:*:* | ||
| cpe:2.3:a:oracle:business_intelligence:5.9.0.0.0:*:*:*:enterprise:*:*:* | ||
| cpe:2.3:a:oracle:business_intelligence:12.2.1.3.0:*:*:*:enterprise:*:*:* | ||
| cpe:2.3:a:oracle:business_intelligence:12.2.1.4.0:*:*:*:enterprise:*:*:* | ||
| cpe:2.3:a:oracle:enterprise_manager_for_storage_management:13.4.0.0:*:*:*:*:*:*:* | ||
| cpe:2.3:a:oracle:enterprise_manager_ops_center:12.4.0.0:*:*:*:*:*:*:* | ||
| cpe:2.3:a:oracle:graalvm:19.3.5:*:*:*:enterprise:*:*:* | ||
| cpe:2.3:a:oracle:graalvm:20.3.1.2:*:*:*:community:*:*:* | ||
| cpe:2.3:a:oracle:graalvm:21.0.0.2:*:*:*:community:*:*:* | ||
| cpe:2.3:a:oracle:jd_edwards_world_security:a9.4:*:*:*:*:*:*:* | ||
| cpe:2.3:a:oracle:zfs_storage_appliance_kit:8.8:*:*:*:*:*:*:* | ||
| cpe:2.3:a:siemens:sinec_ins:*:*:*:*:*:*:*:* | 1.0 (excluyendo) | |
| cpe:2.3:a:siemens:sinec_ins:1.0:-:*:*:*:*:*:* | ||
| cpe:2.3:a:siemens:sinec_ins:1.0:sp1:*:*:*:*:*:* |
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://cert-portal.siemens.com/productcert/pdf/ssa-637483.pdf
- https://git.openssl.org/gitweb/?p=openssl.git%3Ba%3Dcommitdiff%3Bh%3D30919ab80a478f2d81f2e9acdcca3fa4740cd547
- https://kb.pulsesecure.net/articles/Pulse_Security_Advisories/SA44846
- https://security.netapp.com/advisory/ntap-20210219-0009/
- https://security.netapp.com/advisory/ntap-20240621-0006/
- https://www.openssl.org/news/secadv/20210216.txt
- https://www.oracle.com//security-alerts/cpujul2021.html
- https://www.oracle.com/security-alerts/cpuApr2021.html
- https://www.oracle.com/security-alerts/cpuapr2022.html
- https://www.oracle.com/security-alerts/cpuoct2021.html



