Related topics

Vid shows how to easily hack 'anti-spy' webmail (sorry, ProtonMail)

Filtering evil JavaScript is tricky if you're encrypting in the browser

Fail and You

Video + Update A security researcher has demonstrated a classic JavaScript-injection attack against ProtonMail – the webmail system developed by boffins and CERN to withstand surveillance by the world's intelligence agencies.

German security expert Thomas Roth published a video over the weekend showing how he exploited a trivial vulnerability found in ProtonMail's systems: using the Chrome web browser's developer mode, he was able to edit an outgoing message to embed arbitrary JavaScript code, which was executed in a would-be victim's browser when opened within the ProtonMail.ch site.

This code is free to access the victim's account and cause further mischief. ProtonMail encrypts and decrypts messages in the browser before sending and after receiving mail, respectively. Thus, filtering of malicious material has to be done in the browser by the client-side JavaScript – but in this case wasn't.

Roth said he had released the video now because ProtonMail had fixed various flaws he reported back in May via email. However, the Swiss consortium hadn't credited or warned users of his discovery, he claimed, hence his open disclosure of the bugs.

"The reason I posted the video was because they did not communicate the security problems to their users – and did not even notify me when the bugs were patched," Roth told The Register.

"I believe that for a service that is used for 'secure communication' trust is very important – and if they hide vulnerabilities from their users I can not trust them."

The researcher said he had reported five vulnerabilities including a cross-site request forgery bug that apparently allowed an attacker to change victims' email signatures, further opening them to malicious cross-site scripts.

In response, ProtonMail said the problems Roth highlighted had been fixed, and added that they were no longer an issue.

But it does say something about the state of play in the industry when a system designed from the ground up to be secure is defeated by what is a relatively common attack vector. ®

Updated to add

While ProtonMail has fixed the bugs highlighted, the company said it would welcome additional security advice.

"ProtonMail is constantly making security improvements through our beta process and we appreciate all the assistance we have received from the community in helping us make ProtonMail better. The concept of encrypting on the client side is a relatively new one and comes with its own security challenges which we are working diligently to tackle," the outfit said in a statement to El Reg after our story was published.

"The ProtonMail security team has reviewed the video released by Mr Roth and confirmed that this particular security issue is not present on the live version of ProtonMail. Mr Roth's video appears to be using an earlier development release of ProtonMail that was originally released on May 10th, 2014 for public testing. We are supportive of all efforts to improve the security of ProtonMail and security inquiries can always be directed to security@protonmail.ch."

Bootnote

A reminder that implementing secure cryptography in client-side JavaScript is hard work.

Sponsored: Designing and building an open ITOA architecture