La libreria di Mozilla Network Security Services (NSS) non riesce a verificare correttamente le firme RSA a causa di errata interpretazione ASN.1 di DigestInfo (incorrect ASN.1 parsing of DigestInfo).
Questa vulnerabilità può consentire ad un utente malintenzionato la creazione di una firma RSA, come ad esempio un certificato SSL.
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.
Questa vulnerabilità è una variante della vulnerabilità Bleichenbacher, che accetta byte non convalidati nei byte meno significativi della firma.
Mozilla NSS è utilizzato da altri prodotti software, tra cui un certo numero di distribuzioni e pacchetti Linux, Google Chrome e Google Chrome OS.
E’ inoltre possibile che anche altre librerie crittografiche possono presentare vulnerabilità simili.