Your 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.
(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.)