Google releases Go 1.5.3 to fix the RSA private key leak

Jan 18, 2016 11:45 GMT  ·  By

Google has published version 1.5.3 of the Go programming language to address a security issue (CVE-2015-8618) in the math/big package that leaked one of the RSA keys used in TLS-encrypted communications.

RSA is a cryptographic algorithm that encrypts data and generates two keys, one for encryption, one for decryption operations. RSA is used for TLS/SSL computations.

According to the Google advisory, "this issue can affect RSA computations in crypto/rsa, which is used by crypto/tls."

Google says that TLS servers on 32-bit systems can theoretically leak their RSA private key due to this issue and that other protocols that use RSA could also leak one of the keys in the same manner.

Researchers say that RSA blinding prevents attackers from crafting specific inputs that trigger the bug. However, on 32-bit systems, the bug occurs at random around one in 226 times.

This means that an attacker can collect 64 million signatures for known data from an affected server and expect to extract the private key used to encrypt the data. Knowing the private key would allow the attacker to decrypt all traffic, even unknown data.

64-bit systems are also affected, but the frequency of the bug is very low (250), which would make it extremely inefficient to exploit.

Only versions of the Go 1.5.x branch are affected. Google credited Nick Craig-Wood with identifying this issue.