Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsUpgrade crayon
to version 0.7.2 or higher.
crayon is a game framework, which loosely inspired by some amazing blogs on bitsquid, molecular and floooh.
Affected versions of this package are vulnerable to Use of Uninitialized Resource due to the ObjectPool
explicitly creating an uninitialized instance of its type parameter when attempting to free an object, and swapping it into the storage. This results in instant undefined behavior from reading the uninitialized memory to write it to the pool storage.
use crayon::prelude::*;
application::oneshot().unwrap();
let mut params = MeshParams::default();
let mesh = video::create_mesh(params, None).unwrap();
// Deletes the mesh object.
video::delete_mesh(mesh); // <-- UB