OpenSSL on Thursday patched three vulnerabilities in its latest update, and reminded users running version 1.0.1 of the cryptographic library that that security support will end Dec. 31.
Of the three bugs, only one was rated high severity and could lead to OpenSSL crashes. Only OpenSSL 1.1.0 is affected, earlier versions are not. Users should upgrade to OpenSSL 1.1.0c.
The vulnerability was privately disclosed by Robert Swiecki, an information security engineer at Google.
The flaw affects TLS connections using ChaCha20-Poly1305, OpenSSL said; ChaCha20-Poly1305 is a ciphersuite in AEAD mode, and was recently standardized.
“TLS connections using *-CHACHA20-POLY1305 ciphersuites are susceptible to a DoS attack by corrupting larger payloads. This can result in an OpenSSL crash,” OpenSSL said. “This issue is not considered to be exploitable beyond a DoS.”
Rich Salz, a member of the OpenSSL development team, said the vulnerability was a pointer miscalculation.
“So the wrong part of a message buffer was zeroed,” Salz said. “The only thing likely to happen was a server-side crash.”
OpenSSL also patched a moderate severity vulnerability in the library’s handling of the ASN.1 Choice type.
“Applications parsing invalid CMS structures can crash with a NULL pointer dereference. This is caused by a bug in the handling of the ASN.1 CHOICE type in OpenSSL 1.1.0 which can result in a NULL value being passed to the structure callback if an attempt is made to free certain invalid encodings,”OpenSSL said. “Only CHOICE structures using a callback which do not handle NULL value are affected.”
This bug too affects only OpenSSL 1.1.0, and users should upgrade to 1.1.0c.
The third vulnerability was rated low severity, and was found in the Broadwell-specific Montgomery multiplication procedure that handles input divisible by, but longer than, 256 bits, OpenSSL said. RSA, DSA and Diffie-Hellman keys are not exposed in these attacks, OpenSSL, said.
“This is because the subroutine in question is not used in operations with the private key itself and an input of the attacker’s direct choice,” OpenSSL said. “Otherwise the bug can manifest itself as transient authentication and key negotiation failures or reproducible erroneous outcome of public-key operations with specially crafted input.”
The Brainpool P-512 elliptic curve is affected by this vulnerability, and OpenSSL said ECDH key negotiations can be attacked.
“Impact was not analyzed in detail, because pre-requisites for attack are considered unlikely,” OpenSSL said. “Namely multiple clients have to choose the curve in question and the server has to share the private key among them, neither of which is default behaviour. Even then only clients that chose the curve will be affected.”
Versions prior to OpenSSL 1.0.2 are not affected, and because this is a low-severity bug, a new release is not available, OpenSSL said.