search menu icon-carat-right cmu-wordmark

CERT Coordination Center

MD5 vulnerable to collision attacks

Vulnerability Note VU#836068

Original Release Date: 2008-12-31 | Last Revised: 2009-01-21

Overview

Weaknesses in the MD5 algorithm allow for collisions in output. As a result, attackers can generate cryptographic tokens or other data that illegitimately appear to be authentic.

Description

A secure cryptographic hash algorithm is one that generates a unique identifier of a fixed size (known as a "digest" or simply "hash") for a block of data of arbitrary size. The MD5 algorithm is a standard, widely used example of such an algorithm and is defined in IETF RFC 1321. One of the requirements of secure cryptographic hash algorithms is that it be extremely unlikely for two different inputs to the algorithm to generate the same digest. This property is generally referred to as collision resistance and cases where an algorithm generates the same digest for two different blocks of data are known as collisions.

Cryptanalytic research published in 1996 described a weakness in the MD5 algorithm that could result in collision attacks, at least in principle. Further research published in 2004 demonstrated the practical ability for an attacker to generate collisions and in 2005 the ability for an attacker to generate colliding x.509 certificates was demonstrated. In 2008, researchers demonstrated the practical vulnerability of Public Key Infrastructures (PKI) to such attacks, including the construction of an SSL certificate that allows an attacker to impersonate a trusted root Certificate Authority (CA). Most operating systems bundle a collection of trusted CA certificates, including some that use the MD5 signing algorithm, providing obvious targets for attackers to spoof.

Impact

An attacker can construct forged data in a variety of forms that will cause software using the MD5 algorithm to incorrectly identify it as trustworthy. Because the underlying vulnerability occurs in a cryptographic primitive, specific exploitation scenarios vary widely depending on the nature of the data the attacker has the ability to spoof and how it is validated by software. In a particularly egregious vulnerability scenario, a victim user may be mislead into supplying sensitive information to a malicious website believing that it is authentic based on an apparently valid signed SSL certificate.

Solution

We are currently unaware of a practical solution to this problem.

Do not use the MD5 algorithm
Software developers, Certification Authorities, website owners, and users should avoid using the MD5 algorithm in any capacity. As previous research has demonstrated, it should be considered cryptographically broken and unsuitable for further use.

Scrutinize SSL certificates signed by certificates using the MD5 algorithm
Users may wish to manually analyze the properties of web site certificates that are signed by signing certificates using the MD5 algorithm. The procedures for accessing certificate details differ depending on the software in use but the signature algorithm is often identified in the "Signature algorithm", "Certificate Signature Algorithm", or similarly named field. Users of systems with the OpenSSL command line utility can view certificate properties using "openssl x509 -text" or a similar utility. Certificates listed as md5RSA or similar are affected. Such certificates that include strange or suspicious fields or other anomalies may be fraudulent. Because there are no reliable signs of tampering it must be noted that this workaround is error-prone and impractical for most users.

Vendor Information

836068
 

Microsoft Corporation Unknown

Updated:  December 31, 2008

Statement Date:   December 30, 2008

Status

Unknown

Vendor Statement

We have not received a statement from the vendor.

Vendor Information

Please see Microsoft Security Advisory (961509):

http://www.microsoft.com/technet/security/advisory/961509.mspx

Mozilla Unknown

Updated:  December 31, 2008

Status

Unknown

Vendor Statement

We have not received a statement from the vendor.

Vendor Information

The vendor has not provided us with any further information regarding this vulnerability.

Addendum

Please see the following Mozilla Security Blog post for more information:

http://blog.mozilla.com/security/2008/12/30/md5-weaknesses-could-lead-to-certificate-forgery/

If you have feedback, comments, or additional information about this vulnerability, please send us email.

Verisign Unknown

Updated:  December 31, 2008

Statement Date:   December 30, 2008

Status

Unknown

Vendor Statement

We have not received a statement from the vendor.

Vendor Information

The vendor has not provided us with any further information regarding this vulnerability.

Addendum

Tim Callan of Verisign has posted the following blog entry:

https://blogs.verisign.com/ssl-blog/2008/12/on_md5_vulnerabilities_and_mit.php

If you have feedback, comments, or additional information about this vulnerability, please send us email.


CVSS Metrics

Group Score Vector
Base 0 AV:--/AC:--/Au:--/C:--/I:--/A:--
Temporal 0 E:ND/RL:ND/RC:ND
Environmental 0 CDP:ND/TD:ND/CR:ND/IR:ND/AR:ND

References

Acknowledgements

A number of individuals have previously published research on collision vulnerabilities in MD5 including but not limited to: Hans Dobbertin, Xiaoyun Wang, Hongbo Yu, Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger, Dan Kaminsky, and Gerardo Richarte.

This document was written by Chad R Dougherty.

Other Information

CVE IDs: None
Severity Metric: 18.00
Date Public: 2008-12-30
Date First Published: 2008-12-31
Date Last Updated: 2009-01-21 13:45 UTC
Document Revision: 15

Sponsored by CISA.