The OpenSSL Project released OpenSSL versions 1.1.0d and 1.0.2k, which patch four vulnerabilities.
One of the flaws allows an attacker to trigger an out-of-bounds read using a truncated packet and crash an SSL/TLS server or client running on a 32-bit host.
The weakness, reported in mid-November by Google security researcher Robert Swiecki, affects the 1.1.0 and 1.0.2 branches when certain ciphers end up used like the ChaCha20-Poly1305 for version 1.1.0 and RC4-MD5 for 1.0.2.
Both OpenSSL branches also suffer from a carry propagation bug in the x86_64 Montgomery squaring procedure (CVE-2017-3732).
A carry propagation bug is a special case of a fault attack, which is an attack where an adversary tries to induce an error during a cryptographic computation.
A successful attack relying on a carry propagation bug can allow an attacker to recover encryption keys.
In this case, though, the OpenSSL Project said elliptic curve (EC) algorithms are not affected and attacks against RSA and DSA are difficult to carry out.
“Attacks against DH are considered just feasible (although very difficult) because most of the work necessary to deduce information about a private key may be performed offline,” the OpenSSL Project said in its advisory.
“The amount of resources required for such an attack would be very significant and likely only accessible to a limited number of attackers,” the advisory said.
The flaw, reported earlier this month by Google’s OSS-Fuzz project, is very similar to CVE-2015-3193, which OpenSSL patched in December 2015.
The third vulnerability, identified as CVE-2017-3730, affects the 1.1.0 branch and it can end up leveraged in a denial of service (DoS) attack. A malicious server that supplies bad parameters can cause the client to crash.
The flaw came to OpenSSL from Guido Vranken.
OpenSSL 1.0.2k also addresses a low severity vulnerability patched in the 1.1.0 branch in November.