Attacking Crypto Phones: Weaknesses in ZRTPCPP

In the wake of the recent NSA / Prism debacle, there has been a large push for secure, encrypted communications for the average user.

This essentially means employing cryptography solutions in order to protect private communications from eavesdroppers (government or otherwise). Whilst this is a very positive course of action that user’s can undertake, it makes sense to perform some evaluation of the security products upon which your communications are entrusted – does the attack surface change? Are there new avenues of exposure that didn’t previously exist? With this in mind, I decided to take a brief look at the GNU ZRTPCPP library (, which is a core security component of various secure phone solutions (perhaps most notably, the impressive SilentCircle suite of applications). This blog post discusses several vulnerabilities that were uncovered in this initial audit. Note that these vulnerabilities can be triggered by un-authenticated, untrusted, remote parties, and affects the following software: