История изменений
Исправление firkax, (текущая версия) :
Ну сегфолт там от битья памяти этими 128к нулями в лог-сообщении, так что вполне могла и рутовая консоль получиться. Может быть надо было не нули для этого прислать а что-то другое (printf тут просто для генерации этой длинной строки, а так её можно побайтово сгенерить любую, чтобы записать в битую память именно то что нужно а не мусор).
Но у меня и сегфолта нет. (glibc:i386 2.31-13+deb11u7)
(после Segmentation fault (core dumped) тоже сохраняется сеанс юзера, перехода в рутовый сеанс нет.)
Если su сегфолтнулось то конечно рут консоли не будет. Там суть была именно в том, что su хочет выдать лог про неудачу, но пока выводит его - портит свои внутренние переменные из-за протёкшего буфера строки и теперь уже считает что авторизация удалась.
Исправление firkax, :
Ну сегфолт там от битья памяти этими 128к нулями в лог-сообщении, так что вполне могла и рутовая консоль получиться. Может быть надо было не нули для этого прислать а что-то другое (printf тут просто для генерации этой длинной строки, а так её можно побайтово сгенерить любую, чтобы записать в битую память именно то что нужно а не мусор).
Но у меня и сегфолта нет.
(после Segmentation fault (core dumped) тоже сохраняется сеанс юзера, перехода в рутовый сеанс нет.)
Если su сегфолтнулось то конечно рут консоли не будет. Там суть была именно в том, что su хочет выдать лог про неудачу, но пока выводит его - портит свои внутренние переменные из-за протёкшего буфера строки и теперь уже считает что авторизация удалась.
Исходная версия firkax, :
Ну сегфолт там от битья памяти этими 128к нулями в лог-сообщении, так что вполне могла и рутовая консоль получиться. Может быть надо было не нули для этого прислать а что-то другое (printf тут просто для генерации этой длинной строки, а так её можно побайтово сгенерить любую, чтобы записать в битую память именно то что нужно а не мусор).
Но у меня и сегфолта нет.