The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Уязвимость в Polkit, позволяющая повысить свои привилегии в ..."
Отправлено Совершенно другой аноним, 04-Июн-21 13:29 
>> тут я с Вами не соглашусь - тут и анализ завершения и анализ наличия ошибки
> ой, да какого хрена разница. Если вернуться в начало, то вообще исходно
> разговор начался с того, что rust бы спас от этой проблемы.
> А то к чему мы пришли -- это спор о смыслах
> слов. Был программерский спор, стал лингвистический. То есть, мы залезли в
> оффтоп.

безотносительно спора - ну как-бы о словах надо договариваться, чтобы не получилось, что мы говорим одно и тоже слово, но каждый под ним понимает что-то своё.

А так, скажем так, что у них получилось обработать ошибку, но не до конца.

>[оверквотинг удален]
> не стоит так делать, а если всё же делаешь, то надо
> ОЧЕНЬ сильно подумать, и потратить не менее получаса на поиск граблей,
> на которые можно наступить при этом. Но в rust'е это сильнее
> нельзя, потому что без unsafe'а сделать не удастся, а с unsafe'ом
> оно конечно можно, в смысле это могут принять другие, но только
> ежели unsafety не пересекает границ модуля. Здесь он пересекает. То есть
> g_dbus_connection_call должен быть unsafe вызовом (это лишь _соглашение_ растоманов,
> но они всё же следят за ним когда читают или пишут
> код). Ну а если мы начинаем использовать unsafe API, то гарантии
> раста, как бэ, подвисают в воздухе.

про Rust я не могу ничего сказать. как это в нём можно сделать вообще, и как именно делать лучше в частности.

>[оверквотинг удален]
> Которая, судя по её коду, заточена под то, что она будет вызвана
> дважды. На каждый асинхронный вызов она вызывает g_connection_call_finish. И что-то пишет
> в data, вне зависимости от того, как там сыграют ветки if'ов:
> она просто в разные места data пишет, в зависимости от if'ов.
> Если между этими двумя вызовами коллбека произойдёт return в polkit_system_bus_name_get_creds_sync,
> то второй вызов будет писать в удалённый стековый фрейм.
> edit:
>> делает какой-то single iteration судя по документации
> А, вот это похоже на правду. Надо полагать, что dangling указателя, всё
> же не возникает.

как по мне, код на C вполне себе элегантный, правда что так и не понятно - зачем они делают два вызова? неужели боятся, что по одному могут ответить гораздо медленнее, чем по второму, но не знают по какому? или то какое-то legacy осталось, типа давайте спросим так, а если нас не поняли, то тогда по другому.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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