According to a report from security researcher Dan Kaminsky, the MD5 cryptographic algorithm may be at risk. This means that files, applications and programs supposedly authenticated and verified by MD5 could potentially be compromised.

In a research paper titled, "MD5 To Be Considered Harmful Some Day," Kaminsky expanded on the theoretical work done by Chinese security researchers Xiaoyun Wang, Dengguo Feng, Xuejia Lai and Hongbo Yu on "Collisions for MD5 Hash Functions." Kaminsky released a tool Stripwire to demonstrate some of the attacks he describes.

A hash collision essentially means that you could have two identical outputs from a hash function. That situation may lead to an algorithm that is not considered to be cryptographically secure and can be attacked. In August, French research Antoine Joux presented an unpublished paper at the Crypto 2004 show similar to the original Chinese research that Kaminsky expanded upon.


At the time the disclosure prompted data storage giant EMC to allay its customers that the MD5 algorithm it uses is enhanced and buried in the platform and that it was virtually unexploitable.

"Some people have said there's no applied implications to Joux and Wang's research," Kaminsky wrote. "They're wrong; arbitrary payloads can be successfully integrated into a hash collision."

MD5 hashes are widely used today on countless file servers and P2P networks, as well as a way to guarantee file integrity. According to Kaminsky, this makes them blind to any signature embedded within MD5 collisions.

"This is an excellent vector for malicious developers to get unsafe code past a group of auditors, perhaps to acquire a required third-party signature," Kaminsky wrote. "Alternatively, build tools themselves could be compromised to embed safe versions of dangerous payloads in each build. At some later point, the embedded payload could be safely 'activated' without the MD5 changing."

Kaminsky also noted that Digital Signature systems are also potentially vulnerable, as they usually do not sign the data itself but rather a hashed representation of the data. Passwords are also often saved on *nix (UNIX/Linux) systems with MD5, though Kaminsky noted that such passwords really aren't at all vulnerable to the MD5 attack.

Despite the analysis and proofs proposed by Kaminsky, he does admit that the attacks discovered are obscure.

"The attacks are not wildly practical, and in most cases exposure remains thankfully limited for now," Kaminsky wrote. "But the risks are real enough that responsible engineers should take note. This is not merely an academic threat; systems designed with MD5 now need to take far more care than they would if they were employing an unbroken hashing algorithm, and the problems are only going to get worse."

In 1991, MD4 was shown to have weaknesses, which its successor MD5 was supposed to have corrected. As early as 1996 though, the first inklings of weakness in MD5 were exposed by Hans Dobbertin who was same researcher that discovered the weakness in MD4.