Vulnerabilidad en la función de la API EVP_PKEY_decrypt() en OpenSSL (CVE-2021-3711)
Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-120
Copia de búfer sin comprobación del tamaño de entrada (Desbordamiento de búfer clásico)
Fecha de publicación:
24/08/2021
Última modificación:
21/06/2024
Descripción
Para descifrar los datos cifrados de SM2 se espera que una aplicación llame a la función de la API EVP_PKEY_decrypt(). Normalmente, una aplicación llamará a esta función dos veces. La primera vez, al entrar, el parámetro "out" puede ser NULL y, al salir, el parámetro "outlen" se rellena con el tamaño del búfer necesario para contener el texto plano descifrado. La aplicación puede entonces asignar un búfer de tamaño suficiente y llamar de nuevo a EVP_PKEY_decrypt(), pero esta vez pasando un valor no NULL para el parámetro "out". Un bug en la implementación del código de descifrado SM2 significa que el cálculo del tamaño del búfer necesario para mantener el texto plano devuelto por la primera llamada a EVP_PKEY_decrypt() puede ser menor que el tamaño real requerido por la segunda llamada. Esto puede conllevar a un desbordamiento del búfer cuando la aplicación llama a EVP_PKEY_decrypt() por segunda vez con un búfer demasiado pequeño. Un atacante malicioso que sea capaz de presentar el contenido de SM2 para su descifrado a una aplicación podría causar que los datos elegidos por el atacante desborden el búfer hasta un máximo de 62 bytes alterando el contenido de otros datos mantenidos después del búfer, posiblemente cambiando el comportamiento de la aplicación o causando el bloqueo de la misma. La ubicación del búfer depende de la aplicación, pero normalmente se asigna a la pila. Corregido en OpenSSL versión 1.1.1l (Afectada 1.1.1-1.1.1k).
Impacto
Puntuación base 3.x
9.80
Gravedad 3.x
CRÍTICA
Puntuación base 2.0
7.50
Gravedad 2.0
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 1.1.1 (incluyendo) | 1.1.1l (excluyendo) |
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* | ||
cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* | ||
cpe:2.3:a:netapp:active_iq_unified_manager:-:*:*:*:*:vmware_vsphere:*:* | ||
cpe:2.3:a:netapp:active_iq_unified_manager:-:*:*:*:*:windows:*:* | ||
cpe:2.3:a:netapp:clustered_data_ontap:-:*:*:*:*:*:*:* | ||
cpe:2.3:a:netapp:clustered_data_ontap_antivirus_connector:-:*:*:*:*:*:*:* | ||
cpe:2.3:a:netapp:e-series_santricity_os_controller:*:*:*:*:*:*:*:* | 11.0 (incluyendo) | 11.50.2 (incluyendo) |
cpe:2.3:a:netapp:hci_management_node:-:*:*:*:*:*:*:* | ||
cpe:2.3:a:netapp:manageability_software_development_kit:-:*:*:*:*:*:*:* | ||
cpe:2.3:a:netapp:oncommand_insight:-:*:*:*:*:*:*:* | ||
cpe:2.3:a:netapp:oncommand_workflow_automation:-:*:*:*:*:*:*:* | ||
cpe:2.3:a:netapp:santricity_smi-s_provider:-:*:*:*:*:*:*:* | ||
cpe:2.3:a:netapp:snapcenter:-:*:*:*:*:*:*:* | ||
cpe:2.3:a:netapp:solidfire:-:*:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- http://www.openwall.com/lists/oss-security/2021/08/26/2
- https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf
- https://git.openssl.org/gitweb/?p=openssl.git%3Ba%3Dcommitdiff%3Bh%3D59f5e75f3bced8fc0e130d72a3f582cf7b480b46
- https://lists.apache.org/thread.html/r18995de860f0e63635f3008fd2a6aca82394249476d21691e7c59c9e%40%3Cdev.tomcat.apache.org%3E
- https://lists.apache.org/thread.html/rad5d9f83f0d11fb3f8bb148d179b8a9ad7c6a17f18d70e5805a713d1%40%3Cdev.tomcat.apache.org%3E
- https://security.gentoo.org/glsa/202209-02
- https://security.gentoo.org/glsa/202210-02
- https://security.netapp.com/advisory/ntap-20210827-0010/
- https://security.netapp.com/advisory/ntap-20211022-0003/
- https://security.netapp.com/advisory/ntap-20240621-0006/
- https://www.debian.org/security/2021/dsa-4963
- https://www.openssl.org/news/secadv/20210824.txt
- https://www.oracle.com/security-alerts/cpuapr2022.html
- https://www.oracle.com/security-alerts/cpujan2022.html
- https://www.oracle.com/security-alerts/cpuoct2021.html
- https://www.tenable.com/security/tns-2021-16
- https://www.tenable.com/security/tns-2022-02