A newly discovered critical vulnerability in the Mozilla Network Security Services (NSS) cryptographic library can be abused to create forged RSA certificates.
Mozilla has released updates to fix the issue. According to the company, users on a compromised network could be directed to sites using a fraudulent certificate and mistake them for legitimate sites. This could be used by attackers to trick victims into revealing personal information (like usernames and passwords) or downloading malware.
"The Mozilla NSS library, commonly utilized in the Firefox web browser, can also be found in Thunderbird, Seamonkey, and other Mozilla products," Michael Fey, executive vice president, chief technology officer, and general manager of corporate products for McAfee, part of Intel Security, wrote in a blog post. "Dubbed 'BERserk,' this vulnerability allows for attackers to forge RSA signatures, thereby allowing for the bypass of authentication to websites utilizing SSL/TLS. Given that certificates can be forged for any domain, this issue raises serious concerns around integrity and confidentiality as we traverse what we perceive to be secure websites."
According to Fey, the attack exploits a vulnerability in the passing of ASN.1 encoded messages during signature verification. ASN.1 messages are made up of various parts that are encoded using Basic Encoding Rules (BER) and/or Distinguished Encoding Rules (DER). "This attack exploits the fact that the length of a field in BER encoding can be made to use many bytes of data. In vulnerable implementations, these bytes are then skipped during parsing. This condition enables the attack. This is a variation on the Bleichenbacher PKCS#1 RSA Signature Verification vulnerability of 2006."
Intel Security said it is unaware of any attacks exploiting the issue, which was also discovered and reported independently by the security researcher Antoine Delignat-Lavaud at Inria Paris at team Prosecco.
The following updates have been released for Mozilla client products: Firefox 32.0.3; Firefox for Android 32.0.3; Firefox for Android 31.1.; Firefox ESR 31.1.1; Firefox ESR 24.8.1; Thunderbird 31.1.2; Thunderbird 24.8.1; and SeaMonkey 2.29.1.
Updates are also available for beta and other development versions of these products, according to Mozilla, which advises projects using NSS 3.17 to update to the new 3.17.1 release. Google has already issued an update for Chrome.
The CERT Coordination Center at Carnegie Mellon University (CERT/CC) also released an advisory on the issue.
"This vulnerability is a variant of the Bleichenbacher vulnerability, where unvalidated bytes are allowed in the least significant bytes of the signature," according to CERT. "Mozilla NSS is used by other software products including a number of Linux distributions and packages, Google Chrome, and Google Chrome OS. It is also possible that other cryptographic libraries may have similar vulnerabilities."
"Upon discovery of this issue, the Intel Security ATR [Advanced Threat Research] team notified Mozilla to facilitate the mitigation and resolution of the vulnerability," said James Walter, director of advanced threat research of Intel Security. "We also engaged CERT/CC to ensure that all affected parties are responsibly and effectively notified and given mitigation guidance on this issue, and to review other commonly used cryptographic libraries for similar issues."