Security flaws allowed attackers to run code with no user interaction

Jul 22, 2014 23:53 GMT  ·  By

On July 22, Mozilla officially released the stable version of Firefox 31 for all supported platforms, integrating 11 security fixes, three of them being marked as critical.

One of the major vulnerabilities corrected would allow exploitation of a WebGL crash with Cesium JavaScript library. Details about this glitch are not available at the moment, but Mozilla notes that it cannot be leveraged through email in the Thunderbird client because scripting is disabled.

Another flaw refers to a use-after-free vulnerability when handling DirectWrite font. Exploiting it would be possible on Windows platform only, OS X and Linux remaining unaffected.

The potential risk would occur when rendering MathML content with certain fonts, an error in handling font resources and tables causing DirectWrite to crash; the result would be a use-after-free of a DirectWrite font-face object an attacker might be able to exploit.

Last on the list of critical fixes are multiple memory safety hazards that affected version 30 of the web browser. According to Mozilla, memory corruption would be evident in specific scenarios and a motivated attacker might find a way to take advantage and run arbitrary code.

Additional security vulnerabilities repaired by Mozilla in the latest revision of Firefox refer mostly to use-after-free flaws identified in Web Audio, with the FireOnStateChange event and when manipulating certificates in the trusted cache.

Security improvements do not stop at this, though, as the company announced that Firefox 31 has been added a protection mechanism against malicious downloads. The feature relies on the Safe Browsing API from Google and leverages application reputation information to detect malware in file downloads.

The mechanism consists in verifying the metadata, such as download URL, SHA-256 hash, details about the certificate, belonging to the item requested by the user, and comparing it to a given block list.

The verification is carried out both based on a local list of files as well as a remote one. If a match is found, the file is not saved to disk.

Alternatively, when files are signed, they are checked against a given whitelist, the binary is marked as trusted, and the remote check is no longer performed.

A new SSL/TLS certificate verification is now present in Firefox 31 and uses the more robust and easier to maintain “mozilla::pkix” library.

This should not be something noticeable by the regular user, but compatibility issues may arise for websites that do not use a certificate issued by an authority accepted in the Mozilla CA Program. A more comprehensive overview is available in an April post from Mozilla.