Firefox 48 will be the first stable version of Firefox that ships with a Rust component included according to Mozilla.
Mozilla has high hopes for Rust, a memory-safe programming language that’s advertised as a safe alternative to C++.
We have talked about Mozilla’s intention to ship Rust code and Servo components in Firefox last year, and I suggest you check out the article for an overview of what Rust and Servo are, and how using them benefits the Firefox browser.
Firefox 48 will be the first version of Firefox that ships with a Rust component. The component in question is a media parser written in Rust.
Firefox 48 Rust media parser
That may not sound too exciting at first, but considering that media playback code is a primary attack vector on desktop and mobile systems alike, it is of significance.
According to Mozilla, the Rust component performs equally well as the C++ component it is replacing, but in a much safer way.
Our preliminary measurements show the Rust component performing beautifully and delivering identical results to the original C++ component it’s replacing—but now implemented in a memory-safe programming language.
Obviously, it is too early to come to a final verdict on the benefits of replacing C++ components of Firefox with Rust. If Mozilla is to be believed, performance will be equal but security will be improved.
That’s a good thing of course if it holds up in real-world scenarios. For Firefox, it could mean better protection against certain types of attacks against the browser. With that, and multi-process Firefox and sandboxing on the way, it could tighten the browser up quite a bit.
While that won’t mean no security vulnerabilities ever again, it could mean that Firefox would be as hard to attack and successfully exploit as Google Chrome. At best, maybe more difficult.
Rust will ship in Firefox 48 for the desktop, but Mozilla promised that it will ship the component in Firefox for Android soon as well.
The parser is already enabled in Nightly and Developer version builds of Firefox. Mozilla works on other Rust components and plans to include an URL parser, CSS style calculation component, and a WebM Demuxer among others. Additional information about the integration of Rust components into Firefox are available on the Mozilla Wiki.
Firefox 48 will be released on August 2, 2016 provided that the schedule holds.