IM
IronMonkey Threat Research

CVE-2019-1547 MEDIUM

Published: 2019-09-10 | Last Modified: 2026-06-17 | Status: Modified

Description

Normally in OpenSSL EC groups always have a co-factor present and this is used in side channel resistant code paths. However, in some cases, it is possible to construct a group using explicit parameters (instead of using a named curve). In those cases it is possible that such a group does not have the cofactor present. This can occur even where all the parameters match a known named curve. If such a curve is used then OpenSSL falls back to non-side channel resistant code paths which may result in full key recovery during an ECDSA signature operation. In order to be vulnerable an attacker would have to have the ability to time the creation of a large number of signatures where explicit parameters with no co-factor present are in use by an application using libcrypto. For the avoidance of doubt libssl is not vulnerable because explicit parameters are never used. Fixed in OpenSSL 1.1.1d (Affected 1.1.1-1.1.1c). Fixed in OpenSSL 1.1.0l (Affected 1.1.0-1.1.0k). Fixed in OpenSSL 1.0.2t (Affected 1.0.2-1.0.2s).

Additional Descriptions (1)

Normalmente en los grupos EC de OpenSSL siempre tienen un cofactor presente y este es usado en rutas de código resistentes a canales laterales. Sin embargo, en ciertos casos, es posible construir un grupo usando parámetros explícitos (en lugar de usar una curva nombrada). En esos casos, es posible que dicho grupo no tenga el cofactor presente. Esto puede ocurrir incluso cuando todos los parámetros coinciden con una curva de nombre conocido. Si es utilizada dicha curva, entonces OpenSSL recurre a rutas de código resistentes a canales no laterales lo que puede resultar en una recuperación de clave completa durante una operación de firma ECDSA. Para que sea vulnerable, un atacante tendría que tener la capacidad de cronometrar la creación de un gran número de firmas donde parámetros explícitos sin cofactor presente están en uso mediante una aplicación que utiliza libcrypto. Para evitar dudas, libssl no es vulnerable porque nunca se utilizan parámetros explícitos. Corregido en OpenSSL versión 1.1.1d (afectada la versión 1.1.1-1.1.1c). Corregido en OpenSSL versión 1.1.0l (afectada la versión 1.1.0-1.1.0k). Corregida en OpenSSL versión 1.0.2t (afectada la versión 1.0.2-1.0.2s).

CVSS Metrics

Base Score: 4.7 (MEDIUM)

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N

Attack VectorLOCAL
Attack ComplexityHIGH
Privileges RequiredLOW
User InteractionNONE
ScopeUNCHANGED
Confidentiality ImpactHIGH
Integrity ImpactNONE
Availability ImpactNONE

Source: [email protected]

Type: Primary

Exploitability Score: 1.0

Impact Score: 3.6

Base Score: 1.9 (LOW)

AV:L/AC:M/Au:N/C:P/I:N/A:N

Access VectorLOCAL
Access ComplexityMEDIUM
AuthenticationNONE
Confidentiality ImpactPARTIAL
Integrity ImpactNONE
Availability ImpactNONE

Source: [email protected]

Type: Primary

Exploitability Score: 3.4

Impact Score: 2.9

Weaknesses

Source Type Description
[email protected] Primary
en NVD-CWE-noinfo

Affected Products

Vendor Product Version Update Type
openssl openssl * <built-in method update of dict object at 0x72a9a23a2500> Application
openssl openssl * <built-in method update of dict object at 0x72a9a23a21c0> Application
openssl openssl * <built-in method update of dict object at 0x72a9a23a1b80> Application

Affected Configurations

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
Yes cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
Yes cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*

References

Notification
Message here