Mozilla Network Security Services (NSS) fails to properly verify RSA signatures

2014-09-24T00:00:00
ID VU:772676
Type cert
Reporter CERT
Modified 2014-09-24T00:00:00

Description

Overview

The Mozilla Network Security Services (NSS) library fails to properly verify RSA signatures due to incorrect ASN.1 parsing of DigestInfo. This vulnerability may allow an attacker to forge a RSA signature, such as a SSL certificate.

Description

CWE-295: Improper Certificate Validation

RSA signatures are used to authenticate the source of a message. To prevent RSA signatures from being forged, messages are padded with data to ensure message hashes are adequately sized. The Public-Key Cryptography Standard #1 version 1.5 (PKCS#1 v1.5), which is defined in RFC 2313, specifies "the mathematical properties and format of RSA public and private keys (ASN.1-encoded in clear-text), and the basic algorithms and encoding/padding schemes for performing RSA encryption, decryption, and producing and verifying signatures" (Wikipedia). The Mozilla Network Security Services (NSS) library incorrectly parses PKCS#1 v1.5 padded signatures due to the use of a vulnerable implementation of ASN.1 encoding of DigestInfo. Vulnerable implementations parse the DigestInfo field using the BER encoding, which allows multiple ways of encoding the same ASN.1 object. The parser implementation allows for bytes to skip validation, allowing an attacker to forge a signature when a RSA key with a low public exponent (e.g., three) is used.

This vulnerability is a variant of the Bleichenbacher vulnerability, where unvalidated bytes are allowed in the least significant bytes of the signature.

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.


Impact

This vulnerability may allow an attacker to forge a RSA signature, such as a SSL certificate.


Solution

Apply an Update

Mozilla has released patch for this vulnerability (MSFA 2014-73). Mozilla NSS is used by other software products including a number of Linux distributions and packages, Google Chrome, and Google Chrome OS.


Vendor Information

Vendor| Status| Date Notified| Date Updated
---|---|---|---
Google| | -| 24 Sep 2014
Mozilla| | 22 Sep 2014| 24 Sep 2014
Apache HTTP Server Project| | 24 Sep 2014| 24 Sep 2014
Cisco Systems, Inc.| | 23 Sep 2014| 23 Sep 2014
Oracle Corporation| | 23 Sep 2014| 23 Sep 2014
VMware| | 23 Sep 2014| 23 Sep 2014
Yahoo, Inc.| | 23 Sep 2014| 23 Sep 2014
If you are a vendor and your product is affected, let us know.

CVSS Metrics

Group | Score | Vector
---|---|---
Base | 8.8 | AV:N/AC:M/Au:N/C:C/I:C/A:N
Temporal | 6.9 | E:POC/RL:OF/RC:C
Environmental | 8.7 | CDP:H/TD:H/CR:H/IR:H/AR:ND

References

  • <https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS>
  • <https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases>
  • <https://www.mozilla.org/security/announce/2014/mfsa2014-73.html>
  • <https://www.ietf.org/rfc/rfc2313.txt>
  • <http://en.wikipedia.org/wiki/PKCS#1>
  • <http://www.imc.org/ietf-openpgp/mail-archive/msg06063.html>
  • <https://bugzilla.mozilla.org/show_bug.cgi?id=1069405>
  • <https://bugzilla.mozilla.org/show_bug.cgi?id=1064636>

Credit

Thanks to Advanced Threat Research - Intel Security for reporting this vulnerability. Antoine Delignat-Lavaud, a researcher for team Prosecco of Inria Paris, also reported this to Mozilla.

This document was written by Joel Land and Chris King.

Other Information

  • CVE IDs: CVE-2014-1568
  • Date Public: 24 Sep 2014
  • Date First Published: 24 Sep 2014
  • Date Last Updated: 24 Sep 2014
  • Document Revision: 52