Weakness in certificate pinning protections may open users to MitM attacks. Mozilla officials say they’ll release a Firefox update on Tuesday that fixes the same cross-platform, malicious code-execution vulnerability patched Friday in the Tor browser.
The vulnerability allows an attacker who has a man-in-the-middle position and is able to obtain a forged certificate to impersonate Mozilla servers, Tor officials warned in an advisory. From there, the attacker could deliver a malicious update for NoScript or many other Firefox extensions installed on a targeted computer. The fraudulent certificate would have to be issued by any one of several hundred Firefox-trusted certificate authorities (CA).
While it probably would be challenging to hack a CA or trick one into issuing the necessary certificate for addons.mozilla.org, such a capability is well within reach of nation-sponsored attackers, who are precisely the sort of adversaries included in the Tor threat model. In 2011, for instance, hackers tied to Iran compromised Dutch CA DigiNotar and minted counterfeit certificates for more than 200 addresses, including Gmail and the Mozilla addons subdomain.
Update early and often
Friday’s advisory from Tor urges users to install the update as soon as possible. Shortly after this post went live, Mozilla officials said they planned to followed suit on Tuesday. According to a report posted Thursday by researcher Ryan Duff, production versions of Firefox are susceptible, although a nightly build version released on September 4 is not susceptible.
Duff said he was able to reproduce results published Tuesday by a different researcher that showed a Firefox-implemented protection known as “certificate pinning” was ineffective in preventing attacks using forged certificates. Certificate pinning is designed to ensure that a browser accepts only a specific certificate for a specific domain or subdomain and rejects all others, even if the certificates are issued by browser-trusted authority. Duff said the cause of the failure is linked to a form of static key pinning that’s not based on the HTTP Public Key Pinning protocol. More specifically, the failure is the result of Mozilla not properly extending the expiration dates for the static keys list which caused the pinning to go unenforced after they expired.
In a statement issued after this post went live, Mozilla officials issued the following statement:
We investigated this and a fix will be issued in the next Firefox release on Tuesday, September 20. We had fixed an issue with the broken automation on the Developer Edition on September 4, but a certificate pinning had expired for users of our Release and Extended Support Release versions. We will be turning on HPKP on the addons.mozilla.org server itself so that users will remain protected once they have visited the site even if the built-in pins expire. We will be changing our internal processes so built-in certificate pins do not expire prematurely in future releases.
Until Mozilla releases the update, Firefox users who are concerned they might be targeted by nation-sponsored adversaries should consider using a different browser or, alternately, configuring Firefox to stop automatically accepting extension updates.