Paul Krill
Editor at Large

Google Go upgrade fixes bug that could leak RSA private key

news
Jan 14, 20162 mins

The flaw is tied to RSA computations in 32-bit systems

blue security padlock among circuitry
Credit: Thinkstock

Google has released an upgrade to Go 1.5.3 to fix a security issue with the math/big package for implementing multiprecision arithmetic. Go programs must be recompiled with this version to receive the fix.

“This issue can affect RSA computations in crypto/rsa, which is used by crypto/tls,” a golang-dev post in Google Groups says. “TLS servers on 32-bit systems could plausibly leak their RSA private key due to this issue. Other protocol implementations that create many RSA signatures could also be impacted in the same way.” Incorrect results in one part of the RSA Chinese Remainder computation can lead to the wrong outcome down the line such that it leaks a prime number.

RSA binding should prevent an attacker from crafting inputs that trigger the bug, but on 32-bit systems the bug can occur at random around one in 2^26 times. Collecting around 64 million signatures of known data from an affected server should be enough to extract the private key.

On 64-bit systems, the frequency of this bug is so low it would be difficult to exploit, the post said. “Nonetheless, everyone is strongly encouraged to upgrade.” Downloads are currently available.

Go 1.6 is slated to include a change to double-check the RSA computation. That release is expected early this year.

Google’s Go language has been growing in popularity, used in technologies such as Docker. It was even recently ported to IBM z System mainframes.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author