4 ms·
The first example I looked up needed a UAF in something that clearly should have been ported from Java to any memory safe language, instead C++ had to be used:
by foolmeonce 5y ago
The first example I looked up needed a UAF in something that clearly should have been ported from Java to any memory safe language, instead C++ had to be used:
https://theori.io/research/escaping-chrome-sandbox/ https://theori.io/research/escaping-chrome-sandbox/
- zuzun 5y agoYour link is on point, that's exactly the complexity I had in mind and it's everywhere. You can rewrite that component in Rust, you can't add meaningful lifetime information to the pointer that gets passed to it.
- foolmeonce 5y agoYou would be unable to write an API like this without unsafe and being encouraged to write new APIs in a way that works in safe rust is an improvement. When I look at chrome/v8 source it is a series of example many distinct APIs each repeating this context problem, probably since this style of API can be the same as in Java, but the Java version is safe thanks to the GC. (Since their new exploits tend to be in big new APIs that relate to new flags, I think they would be well served by using rust for this splattering of new apis.)