Cryptocat's false sense of security with crackable chats
According to security expert Steve Thomas, messages sent via Cryptocat between 17 October 2011 and 15 June 2013 are compromised. The security hole affects all versions of the chat software since 2.0, as the hole was only discovered and closed in version 2.0.42. On his web site, Steve Thomas has a massive go at the software developers.
Thomas says that the vulnerability was triggered by a flaw in the code for converting strings into arrays of integers. A function that expected an array of 15-bit integer values was actually handed a string of the digits 0 to 9 with the ASCII value of the digit taking the place of the 15-bit integer value and shrinking the possible values from 2^15 to 10. This meant the private Elliptic Curve Cryptography (ECC) keys would be "ridiculously small" and would present an ideal attack vector for brute force attacks. The expert was especially angered about the bug fix description, saying that the developers made an attempt to cover up their mistake claiming the fix became necessary because of backwards compatibility problems.
Cryptocat is designed to provide a securely encrypted online chat facility. The software uses Off-the-Record (OTR) messaging to encrypt users' messages. This technique generates new key pairs for every chat to create what is known as Perfect-Forward-Secrecy (PFS). The idea is to prevent attackers from drawing conclusions about previous or subsequent keys when one key is cracked on a communication channel, so that earlier and later messages continue to be protected. Cryptocat can be used as a Browser extension for Chrome, Firefox and Safari. Thomas says that the hole makes it possible to decrypt a seemingly secure, encrypted chat recording in a matter of minutes.
The Cryptocat developers have since responded with a post on their development blog, expressly thanking Steve Thomas for his effort. According to the developers, the bug didn't affect private chats because it only occurred in group chats with more than two participants.
The incident has also caused embarrassment for the security specialists at Veracode. In February, the Cryptocat team proudly announced that Cryptocat had earned a Veracode Level 2 classification and a Security Quality Score of 100/100.