Curious about exploiting VMs or memory bugs in a safe language? Read my new blog post, where I attack Firecracker, AWS' VMM written in Rust. Learn about the various layers of virtualization + the attack surface, and how design decisions impact security.
https://t.co/FNN7JjeRce
@b10tt0 Yeah I think that it's a good question! It was fun to read up on smart pointers and the interior mutability pattern, though I think that using Rc and RefCell together off the bat could maybe be tough for people who are just starting to learn Rust
@b10tt0 use core::cell::RefCell;
use std::rc::Rc;
fn main() {
let a = Rc::new(RefCell::new(2));
let b = Rc::clone(&a);
println!("\n\nstart: a = {} and b = {}\n", a.borrow(), b.borrow());
*a.borrow_mut() += 1;
println!("++a\nend: [*]\n\n", a.borrow(), b.borrow());
}
This is the finished product, I ended up keeping it simple because this was already a huge tangent to explain the context and significance of Linear Executables for this writeup on a bug for #BGGP3 https://t.co/yBz6rGP73i