Как стать автором
Обновить

Комментарии 7

В коде выше уязвимости use-after-free находятся в строках [6] и [13].

Интересно, а почему этот код вы называете "уязвимостими use-after-free", а не говорите, что это ошибка программиста, которая может привести к тому-то и тому-то. Но такие ошибки выявляются на этапе разработки, отладки, тестирования, наконец, сертификации.
На мой взгляд, надо бы дать рекомендации как этих ошибок избежать.

А есть какие-то уязвимости которые не являются ошибкой разработчика?

специально оставленные бекдоры :-)

Закладки. Но для борьбы с ними проводится сертификация ПО по требованиям безопасности от ФСТЭК, ФСБ, МО и других регуляторов.

>> На мой взгляд, надо бы дать рекомендации как этих ошибок избежать.
Смотря с какой стороны забора смотреть.
Use-After-Free это прекрасная уязвимость.
Благодаря ей появился checkm8, к примеру.

Какпкак — не использовать после освобождения. "Не делайте так"

#define BUFSIZE1 1020
char* p1 = (char ) malloc(BUFSIZE1); / [8] */

Строка [8] аллоцирует область памяти кучи размером 1024 байта для «p1».

Почему выделяется 1024 байта, а не 1020?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий