Переполнение буфера в строгом смысле перезаписи стека или самой кучи потребует либо:
- Ошибка в фреймворке (они существовали в прошлом и вполне могут снова)
- Использование JNI (по сути, больше не используется управляемый код)
Переполнение буфера в том смысле, что у вас есть код, использующий буфер, и ваш код отвечает за его правильный анализ, но это невозможно.
Например, вы можете написать синтаксический анализатор XML, и кто-то может предоставить вам искаженный (или законный, но необычный) запрос, который из-за дизайна вашего синтаксического анализатора перезаписывает ранее проверенные данные с некоторой полезной нагрузкой, которая может привести к плохому поведению вашего приложения. *
Эта последняя форма менее вероятна, но широко распространена плохо написанная функция очистки строк sql, в которой возникла проблема, например, это было бы привлекательной целью.