Hacker News new | ask | show | jobs
by beaconfield 3139 days ago
From what I understand about Rust, it does offer some native security improvements.
1 comments

Apparently about a third of browser security vulnerabilities can be traced to memory safety issues. So, yes.
But how many of them come from the rendering engine?
They're slowing replacing more and more code with Rust. So eventually Rust will have a much bigger impact.
Rust helps in to avoid segFaults which helps in avoid buffer overflows and stack overflows. most of security attacks are due to these and can prevent them better. there is no way a developer can write a code in Rust that causes segfaults ( atleast language promises that ).

recent blog post https://blog.rust-lang.org/2017/11/14/Fearless-Concurrency-I...

> there is no way a developer can write a code in Rust that causes segfaults ( atleast language promises that ).

Well, as long as you avoid unsafe blocks (which turn off a few safety features in a specific scope so you can do complex or performance critical things in that scope) you're supposed to be safe, but to my knowledge it's not formally proven. In practice it seems to be working quite well though.

> there is no way a developer can write a code in Rust that causes segfaults ( atleast language promises that ).

Well, you can very easily: write bad code in unsafe blocks.

That said, your badness is contained within unsafe blocks, so hopefully you have much less code to closely review.

right, it is well known to the developers what to look for when we see something wrong. it doesnt crash randomly, it cries out loud when it fails so we know what is happening and manage it better.
I remember that quite a few were JS exploits (which is why noscript is so popular), and there's no plan to rewrite the JS JIT to rust (not that it would help much anyways)
They want to rewrite everything in Rust, including the JS JIT https://blog.mozilla.org/javascript/2017/10/20/holyjit-a-new...
For example, NoScript disables webfonts because parsing font files (which is among the jobs of the rendering engine) is done in decades-old, convoluted C code.
They plan to replace that with Pathfinder https://blog.rust-lang.org/2017/11/14/Fearless-Concurrency-I...
A quick look at the recent CVEs for Firefox seems like most of them come from there.
Written in C/C++ or any memory-unsafe language means the above.