LINUX.ORG.RU

История изменений

Исправление shdown, (текущая версия) :

Во-первых, ты предлагаешь сломать ABI. Хорошо, зафиксировали.

Нет.

Да. По твоему «Перекомпилировать основные библиотеки, что бы не ломать ABI можно ввести экспорт двух прототипов, с доп.значениями для проверки диапазонов и без» это очевидно.

Более того, там будет проблема с тем, что нужно вызвать функцию по указателю, но неизвестно, «старая» это функция или «новая». Т.е. либо указывать ABI в атрибутах указателя на функцию (кто это будет делать, лол?), либо просто новый код не сможет работать со старым и наоборот.

Это стек регионов, он не привязан к значению переменной.

А как это защитит от ((int*)rbp)[-3] = 0xBADC0DE;, если ((int*)rbp)-3 это валидный адрес, т.е. это будет эквивалентно isAdmin = 0xBADC0DE?

Где будет храниться этот стек регионов, кто мешает атакующему и туда накакать?

Ну и это будет как -fsanitize=address, только почему-то только для стека и гораздо медленнее (в твоём описании).

Исходная версия shdown, :

Во-первых, ты предлагаешь сломать ABI. Хорошо, зафиксировали.

Нет.

Да. По твоему «Перекомпилировать основные библиотеки» это очевидно. Более того, там будет проблема с тем, что нужно вызвать функцию по указателю, но неизвестно, «старая» это функция или «новая».

Это стек регионов, он не привязан к значению переменной.

А как это защитит от ((int*)rbp)[-3] = 0xBADC0DE;, если ((int*)rbp)-3 это валидный адрес, т.е. это будет эквивалентно isAdmin = 0xBADC0DE?

Где будет храниться этот стек регионов, кто мешает атакующему и туда накакать?

Ну и это будет как -fsanitize=address, только почему-то только для стека и гораздо медленнее (в твоём описании).