The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

19 удалённо эксплуатируемых уязвимостей в TCP/IP-стеке Treck, opennews (??), 16-Июн-20, (0) [смотреть все] +1

Сообщения [Сортировка по времени | RSS]


56. "19 удалённо эксплуатируемых уязвимостей в TCP/IP-стеке Treck"  +/
Сообщение от КО (?), 17-Июн-20, 12:11 
> Для экономии ресурсов аллокатор не проверяет был ли этот участок уже освобожден или нет и ломает структуру кучи (heap).

Ну это надо быть эпичным преждевременным оптимизатором, чтоб повторное освобождение свободного участка все порушило.
Вопрос в том, что при повторном высвобождении можно освободить уже кем-то (а может даже и тобой, но под другие цели) занятый кусок памяти, а тот кто ее занял будет не в курсе и преспокойнеько будет продолжать ей пользоваться.

Ответить | Правка | Наверх | Cообщить модератору

65. "19 удалённо эксплуатируемых уязвимостей в TCP/IP-стеке Treck"  +3 +/
Сообщение от Cradle (?), 17-Июн-20, 12:50 
куча это обычно связаный лист, если при повторном освобождении заголовок блока сохранился то там будет указатель на следующий блок, и слишком тупой аллокатор попытается по нему пройти дефрагментировать. Ломается именно структура кучи, и все последующие malloc/free портят ее все больше, пока где-то не выстрелит в той форме как вы описываете.
Ответить | Правка | Наверх | Cообщить модератору

94. "19 удалённо эксплуатируемых уязвимостей в TCP/IP-стеке Treck"  +/
Сообщение от Ordu (ok), 17-Июн-20, 22:03 
> Вопрос в том, что при повторном высвобождении можно освободить уже кем-то (а может даже и тобой, но под другие цели) занятый кусок памяти, а тот кто ее занял будет не в курсе и преспокойнеько будет продолжать ей пользоваться.

Такой вариант имеет специальное название "use-after-free". Это разные баги, с точки зрения избегания и профилактики. Они похожи, могут идти совместно, но могут и порознь. Double-free случается, если хочется удалить объект, но неясно откуда это сделать. use-after-free в случаях, когда удаление проведено не полностью: free вызван, но не все указатели почищены.

Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

95. "19 удалённо эксплуатируемых уязвимостей в TCP/IP-стеке Treck"  +/
Сообщение от Cradle (?), 17-Июн-20, 23:07 
там видимо имелось в виду что где-то в одном потоке делаем free, потом в другом malloc и получаем указатель на тот же адрес, потом в первом потоке еще раз free, а во втором продолжаем использовать.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру