Obligatory: I must point out that my inspiration for this post was a really nice video on YouTube. I don’t claim to have invented this idea, I just wanted to explain it in a way that makes sense to me (although the YouTuber likely does a better job than I).
Today in my class we talked a bit about memory safety and allocation. We’ve talked a decent amount about pointers, but haven’t had any projects where students are required to use allocation. Instead, we’re (so far) relying on RAII from library classes to get students through their programming. My suspcion is that students are probably too eager to use pointers without understandign their vagaries, because that’s what I did when I started programming in C.
So as a bit of fun (and preparation for my course next semester), I made a video showing how these vulnerabilities work.