URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 127275
[ Назад ]

Исходное сообщение
"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"

Отправлено opennews , 17-Апр-22 21:14 
В swhkd (Simple Wayland HotKey Daemon) выявлена серия уязвимостей, вызванных некорректной работой с временными файлами, параметрами командной строки  и unix-сокетами. Программа написана на языке Rust и выполняет  обработку нажатия горячих клавиш в окружениях на базе протокола Wayland (совместимый на уровне файлов конфигурации аналог процесса sxhkd, применяемого в окружениях на базе X11)...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=57032


Содержание

Сообщения в этом обсуждении
"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 21:14 
Надо было писать на... а, погодите-ка. Ну значит это не уязвимость. Просто ошиблись, с кем не бывает. Ну ошиблись, ну и что? А вы знаете, сколько уязвимостей у программ на си? Уязвимость на уязвимости!

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 21:22 
Тут везде повсюду аут оф мемори, как на сях.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Dzen Python , 17-Апр-22 21:44 
Здесь еще луДше - здесь просто тупое непонимание основ POSIX'а и программирования под него.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено ананим.orig , 17-Апр-22 23:09 
кто-то еще аргумент (основной) помнит - иксы работают от рута,
сделаем вяленого без всех этих багов.
результат - и рут никуда не делся, и баги только множатся.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено anonymous , 18-Апр-22 00:04 
не в руте x11 дело в а том что иксы читают весь ввод для всех программ, эта "особенность" и была последней каплей для перхода на Wayland.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 02:33 
> не в руте x11 дело

Ух, ты! А как раньше пели-то... А сейчас у вяленого точно так же.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Placeholder , 18-Апр-22 10:59 
С системд точно так же - сначала кричали про "ой как быстро", в теперь - "скорость это не главное"

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 19-Апр-22 10:41 
«Хамелео́н» — рассказ русского писателя Антона Павловича Чехова.

https://ru.wikipedia.org/wiki/%D0%A5%D0%...)

Так что, все нормально. То есть, все как у людей!


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Анонн , 18-Апр-22 17:19 
Не у вяленого, а у одной конкретной реализации. И то - баг.
А в иксах - это defect by design, и ничем ты его не исправишь.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 23:31 
Исправишь, но это усложнит X11. Привилегированные и непривилегированные клиенты в X11 предусматривались, но в итоге на них забили. Слишком сложно для опенсорса, а коммерческий юникс в то время почти загнулся.

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


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено anonymous , 19-Апр-22 02:15 
Ничего не понял. "Пели" про то что иксы невозможно сделать безопасными по определению, и главная фишка это особенность протокола, из за которой любая запущеная программа читает весь ввод в любом окне, пароли в том числе. Запуск от рута и чтение пикселов экрана это так вишенка на торте. У вяленого все перделано с 0 и эти дыры закрыты.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 19-Апр-22 07:57 
> У вяленого все перделано

Классно сказал: ПЕРДЕЛано :). Именно так. Либо ничего не работает, либо дыры. Попытка подставить костылики оборачивается массовыми дырами, рутами и прочими утечками.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено anonymous , 19-Апр-22 22:26 
а да тут просто уже религиозный фанатизм попер, а я то чситал что просто по недоразумению.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено vdb , 20-Апр-22 15:54 
> сделаем вяленого без всех этих багов.

А какое отношение имеет эта поделка к иксам и вяленому? Какой-то ламер запилил дырявую прогу. Это никак не связано с иксами и вяленым и к переходу с одного на другого.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 23:53 
Не, круче - тут непонимание основ программирования - одно только чтение конфига через утилиту cat - зойчем?!

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 00:41 
Зачем основы программирования, когда суперпупер язык сам все могёт, и думать тоже.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 02:34 
> чтение конфига через утилиту cat - зойчем?!

Компы слишком быстро работают, вот мальчик решил исправить проблему.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Онаним , 18-Апр-22 09:20 
Не просто cat, а /bin/cat, положив болт на PATH.
Хрустопогромисты сферические в вакууме.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено mymedia , 18-Апр-22 12:17 
Setuid программы не должны учитывать PATH. Иначе cat можно будет подменить. Это же основы POSIX-программирования.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Онаним , 18-Апр-22 14:46 
При setuid вообще нежелательно никаких внешних утилит вызывать, потому что таковые могут быть подменены.
И даже проверка root/root и отсутствия привилегий для all может не спасти.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Онаним , 18-Апр-22 14:48 
Ныне для setuid есть ещё тема даунгрейдить привилегии при вызове в случаях, когда это абсолютно небоходимо, но я вообще против такого подхода в целом. Да и необходимость в setuid'ах благодаря всё тем же механизмам практически отпала.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 10:34 
> непонимание основ POSIX'а и программирования под него

Угадайте с трёх раз: какая целевая аудитория Rust?


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 10:36 
Судя по личным страничкам - 18-летние энтузиасты.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 18-Апр-22 15:33 
Виндузятники

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 01:55 
Гремучая смесь: раст + вяленый.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 08:27 
ты еще скажи спасибо что этот "программер" не стал писать СИ + X свою программу, а то ты бы вдруг её запустил и тебя засосала черная дыра.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 08:46 
Таких прогеров надо держать в песочнице, чтобы  они думали, что пишут для линуха, а на самом деле ничего из их творения не использовать во внешнем мире.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 18-Апр-22 09:24 
Спасибо, теперь я понял, почему баш-программисты Пока Линукс ничего не возвращают в апстрим. Осталось понять, нам то такое зачем?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено bergentroll , 18-Апр-22 09:57 
Отпусти и забудь
Что прошло - уже не вернуть
Отпусти и забудь
Новый день укажет путь

© Disnay™


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 18-Апр-22 10:09 
Умные учатся на чужих ошибках, остальные на своих. Дураки и сами не учатся, и другим мешают.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 11:39 
> Дураки и сами не учатся, и другим мешают

Так появился раст.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 18-Апр-22 15:32 
Ну не знаю. Дурак компилятор не создаст. Автор пишет, что выгорел.*) Учитывая тамошнюю ситуацию с активистами и "политкорректностью", полагаю, что дураки его оттуда выжили, а язык и ситуация вокруг него не соответствуют его задумке.

*) I burnt out; https://www.reddit.com/r/rust/comments/7qels2/i_wonder_why_g.../


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Онаним , 18-Апр-22 22:47 
Короче понял что шит, и вовремя свинтил, списав на выгорание, чтобы под яйца с помидорами не подставляться. Ну, молодец, на самом деле-то, потому что вовремя выйти - тоже большое умение.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено lovewindows , 18-Апр-22 09:40 
Там порог вхождения выше, он бы не вошёл...

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 12:05 
> Там порог вхождения выше, он бы не вошёл...

В сишку-то? Ну-ну.
Любимая мантра опоздавших родиться и не заставших то время, когда "18-летние энтузиасты" ваяли свои шедевры на сишке, потому что "круче чем дельфи!Системный языг!".


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 12:36 
И где теперь Delphi?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 13:36 
Тому, кто поставил минус: а нигде. Delphi умер практически.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 14:22 
>> Там порог вхождения выше, он бы не вошёл...
> Тому, кто поставил минус: а нигде. Delphi умер практически.

А в огороде бузина ...



"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 21:21 
Надо читать умные книжки про системное программирование
>Примечательно, что в выпущенном исправлении PID-файл перенесён не в каталог /run, а в каталог /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), где ему тоже не место.

👎
грустно всё это


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено НяшМяш , 17-Апр-22 21:32 
> Надо читать умные книжки про системное программирование

Опять олды тут со своим кефиром к смузихлёбам лезут. Успешные парни сначала донатят пару зарплат джуна на курсы от какой-нибудь крупной компании, а потом сразу устраиваются на 300ккк\нсек и поучают других жизни. Ну или не устраиваются, но бумажку про курсы надо получить обязательно.

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


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Dzen Python , 17-Апр-22 21:44 
Скинь пдф'ник свежей, что ли? В метро хоть почитаю

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Онаним , 17-Апр-22 22:28 
Да ничего грустного. Видишь "rust" - обходишь на всякий случай радиусом в полкилометра.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 08:57 
грустно в другом, когда из зала раздаются окрики не о том что актёр плохой, а про то что ему мешают  его яйца, и если бы они(яйца) были как у кричащего из зала то и танцевал бы актёр на порядок лучше.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 01:38 
Долбить /etc записью - это растаманы мощно придумали!

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Онаним , 18-Апр-22 09:11 
> Долбить /etc записью - это растаманы мощно придумали!

Это они ещё не в курсе, что на эмбедовке /etc бывает r/o до особого распоряжения.
Впрочем, какой вяленый на эмбедовке.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 10:29 
Это не расстоманы придумали, это создатели unix подобный операционных систем придумали, которые больше 20 лет долбили смонтированные операционные системы в /etc/mtab

Но они хоть что-то придумали, а комментаторы 💩 с opennet думать не могут по своей природе


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 10:30 
*список смонтированных файловых систем в /etc/mtab

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 18-Апр-22 15:42 
ls -l /etc/mtab
/etc/mtab -> /proc/self/mtab

Когда там proc появился? Думаю, /etc/mtab уже 30 лет как официально deprecated

> а комментаторы 💩 с opennet думать не могут по своей природе

А ещё читать и ставить posix-совместимые системы


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 22:44 
Posix совместимую Винду все умеют ставить

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 19-Апр-22 03:26 
Sarcasm

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 23:06 
Еще в RHEL 6 /etc/mtab был просто файл, который утилиты mount/umount обновляли при изменении.
Только в RHEL 7 вышедшем в 2014 перешли на mtab
Debian тоже только с wheezy перешел на mtab

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 23:07 
*следали /etc/mtab символьной ссылкой на /proc/mounts

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 23:12 
"Однако, если вы используете параметр _netdev в /etc/fstab для указания того, что файловая система является сетевой файловой системой, которой требуется специальное обращение, то он больше не будет установлен в /proc/mounts после перезагрузки."

Перешли, ито не по полностью. Но куда разработчикам одного из самых популярных дистрибутивов до местных экспертов.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено pashev.ru , 17-Апр-22 21:29 
Раст - это всё ещё инструмент, острый как бритва, хоть и безопасная.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 21:38 
Мыши плакали, кололись, но продолжали жрать кактус.

(Мыши - Линукс пользователи, кактус - Wayland).

// b.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 21:40 
Не все линукспользователи жрут этот кактус.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено rhbm , 18-Апр-22 00:17 
Некоторым мы его уже с другой стороны засунули. И велели радоваться.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено iPony129412 , 18-Апр-22 04:58 
Извините, другого линукс десктопа для вас нет.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Dzen Python , 17-Апр-22 21:42 
Хе. А как же язык, который не то что дырень-в-сях, сам за программиста ошибки правит и уязвимостей не оставляет?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 22:00 
Похоже нас обманули раст не нужен расходимся.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено nvidiaamd , 19-Апр-22 20:40 
Что, все, переобулись?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 23:03 
Именно. Ни одной проблемы с памятью. Ни одного получения рута. Так что как видим - оно работает.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 02:46 
Да ты издеваешься. Раст продаётся как кресты, в которые RAII засунули в компайл-тайм, не более того. Как он от логических ошибок защитит? Может ещё из Idris зависимые типы вкрутить, чтобы и от них защищал?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 12:54 
> Как он от логических ошибок защитит?

Металогика


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 14:13 
А защиту от переполнения целочисленной переменной не засунули. А зачем тогда это всё было нужно. Спойлер: Это все с растом было ненужно.  

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 17:54 
В компайл-тайм ты статически не можешь вывести текущее значение переменной общем случае не то что на практике, а в теории. Исчерпывающим может быть только анализ констант и их свертки. А так программа из внешнего источника может получить на вход какое угодно число. Проверять границы переменных - это часть бизнес-логики и на это пишут тесты в первую очередь.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 21:45 
А почему не в /run/user/`id -u` ? Уже лет 15 все файлы там, другие пользователи туда доступа не имеют. Проблемы как всегда из разряда тех, что исправляют в первую очередь для программ на си. Ржавчина мозг не заменит.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено pashev.ru , 17-Апр-22 22:23 
Создавать директории, да ещё до сброса привилегий - это сложна 🤭

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Juha , 18-Апр-22 10:43 
К сожалению на stackoverflow примера быстро не нагуглилось, пришлось импровизировать.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 19-Апр-22 03:31 
Rust copycoding

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Павел Отредиез , 17-Апр-22 21:52 
У Xorg есть возможность рисовать программы по сети. Есть ли у Wayland? Если нету, то взялся бы кто нибудь написать, за основу можно взять например broadway из gtk3. Отрисовка в  браузере очень перспективненько...

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено ждем ебилдов , 17-Апр-22 22:50 
Попробуйте поискать где-то здесь: arewewaylandyet.com/

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Павел Отредиез , 18-Апр-22 01:32 
> Попробуйте поискать где-то здесь: arewewaylandyet.com/

Да, есть замена ssh -X. Но хочется бэкенд html. Чтобы как broadway, но не только для gtk3, а для всей графики.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 01:42 
> программы по сети

Представляешь, какие будут растовые дырени?!


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Павел Отредиез , 18-Апр-22 01:47 
>> программы по сети
> Представляешь, какие будут растовые дырени?!

Честно говоря мне наплевать на дырени, потому что я не имею продакшенов. Исправляют и пусть исправляют. Сейчас в моей жизни главное функционал.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 05:04 
> главное функционал

Для функционала есть иксы. И там всё есть.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Павел Отредиез , 19-Апр-22 15:08 
>> главное функционал
> Для функционала есть иксы. И там всё есть.

Ты прав. Но у меня кейс - линукс приложения на андроид. Можно использовать Xserver Xsdl, но хочется веб отрисовку в браузере.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 21:59 
В xkb такой фигни не было.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 22:25 
В xkb много чего не было. И нет. К сожалению.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено sigprof , 17-Апр-22 22:25 
Т.е., из-за того, что в Wayland нет аналога XGrabKey() (по поводу https://gitlab.freedesktop.org/wayland/wayland-protocols/-/m... с 2017 года так ни до чего и не договорились), сгородили дичайший костыль, перехватывающий события ввода с правами root? Вот уж действительно «новый безопасный протокол».

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


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 23:15 
>в Wayland нет аналога XGrabKey() ... сгородили дичайший костыль

"Дичайшие костыли":
1) X сервер либо запускается с правами root из-за suid бита, либо ему тоже нужен костыль который даст доступ к /dev/input
2) Позволяет кому угодно читать клавиатурный ввод
3) При этом любая программа может захватить клавиатуру. Господи даже открытие меню в gtk2 программе вроде gimp блокирует горячие клавиши. Это приходится обходить с помощью actkbd подобных программ читающих напрямую из /dev/input

>уж действительно...

вот уж действительно opennet эксперт 👿


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 19-Апр-22 00:42 
> Позволяет кому угодно читать клавиатурный ввод

Из тех кто получил доступ к X серверу? Там как бэ аутентификация есть, xauth, не слышал?


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено pashev.ru , 17-Апр-22 22:27 
> Как и в случае с первой уязвимостью исправление проблемы вызывает недоумение - устранение проблемы сводится к тому, что для чтения файла конфигурации теперь запускается внешняя утилита "cat" ('Command::new("/bin/cat").arg(path).output()').

Автор патча:

"I am an 18 year old open-source developer and Linux enthusiast from the Philippines."


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 01:47 
На Западе прогеры давно уже отсутствуют.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 08:29 
Да-да, там все уже сгнили, настоящие прогеры™ остались только в вяликой и магучей...

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 10:01 
Ты не поверишь, но большенство работ выполняются "специалистами" из других, более дешёвых, стран, а в "цивилизованных" странах в основном сидят основном руками водители, которые присваивают себе заслуги

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 19-Апр-22 03:39 
И оба правы

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 19-Апр-22 03:37 
Где мой небольшой собственный дом, лаборатория и кошкажена?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Шарп , 17-Апр-22 22:42 
>Программа написана на языке Rust
>выявлена серия уязвимостей
>вызывает недоумение
>для чтения файла конфигурации теперь запускается внешняя утилита "cat"
>исправление оказалось не полным

Платиновая коллекция.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Ты , 17-Апр-22 22:47 
переполнений нет. удивительно! на чём написано?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 23:18 
Да на чем угодно, кроме сишечки

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 19-Апр-22 03:39 
Пиши на ассемблере

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 19-Апр-22 03:40 
Не на чём, а для чего. Для гипотетической архитектуры с бесконейчными регистрами.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 23:18 
В actkbd https://github.com/thkala/actkbd нету такого ужаса. И работает оно даже в ядерной консоли, а не только в xorg или wayland

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 17-Апр-22 23:22 
"Как и в случае с первой уязвимостью исправление проблемы вызывает недоумение - устранение проблемы сводится к тому, что для чтения файла конфигурации теперь запускается внешняя утилита "cat" ('Command::new("/bin/cat").arg(path).output()').
"
Разработчик конечно молодец что смог написать сложную программу, но как-то это совсем не дело.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено PnD , 18-Апр-22 11:12 
Писал как я понял подросток (сейчас ему 18).
В качестве "шефской помощи" взрослые дяди с опытом могли бы накидать ему патчей. С разъяснением что к чему.
Но вот беда… Код — на rust.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 12:12 
> Но вот беда… Код — на rust.

Вот так становятся "незаменимыми бесценными" кадрами.
Тактика работает, щас в ядро пропихнем и ...


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено warlock , 18-Апр-22 13:29 
М как этим взрослым дядям мешает то, что кода на Rust?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 19-Апр-22 03:45 
Звучит как диагноз код на java или "код" на delphi

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 00:09 
> файл конфигурации целиком загружается и разбирается без проверки размера и типа файла. Например, для вызова отказа в обслуживании через исчерпание свободной памяти

Жёваный ты крот! да большая часть всех программ рассчитывает на то, что если пользователь дал программе файл конфига, то это валидный файл конфигурации. А если нет, то юзер - ссзб.

Как же заколебали эти трижды никому ненужные хайпожоры от безопасТности. Давайте теперь искать такие "уязвимости" в текстовых редакторах, в gcc и прочих таких программах. Например, hex-editor не проверяет тип файла перед открытием - это же небезопасТно!
Внезапно выяснится, что почти всё, что не работает с файлами как поточный парсер - дофига "уязвимо", а находчивые безопасТники будут главными генераторами новостей.

По-моему биомусор от безопасТности пора бы выявлять и по новомодным традициям "отменять". Чтобы небыло жизни этим псевдо-людям и они перестали множиться и вымерли от голода.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено warlock , 18-Апр-22 00:16 
Текстовые редакторы и gcc не имеют suid флага (или эквивалентного привелегированного демона).

Мне другое интересно: как это вообще фиксить? У меня есть утилитка-обёртка для удобного пользования wpa_supplicant и там такая же проблема…


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 01:36 
вы, наверное, живёте в мире, где mmap() ещё не придумали...

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 18-Апр-22 09:46 
В Расте конструктор (или что там у них) utf-8 строки сразу проверяет входящие в неё символы на валидность, иначе кидает исключение... если дочитает строку.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено sat , 18-Апр-22 13:30 
В расте нет ни конструкторов, не исключений

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 18-Апр-22 15:15 
Аж сайт Яндекса стал недоступен, но с третьего раза таки выдал: "Исключения. В Rust применяется необычная система работы с исключениями."

И возможности сконструировать строку utf8 из отображения в ОЗУ файла, без необходимости чтения всего файла, тоже нет? Ещё, небось, и копируется? Потому вот это всё и падает.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 15:41 
> необычная система

что тебе непонятно в слове "необычная"?


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 18-Апр-22 15:47 
>> необычная система
> что тебе непонятно в слове "необычная"?

Примерно тоже, что знатокам упорно непонятно в заранее сделанной в скобочках оговорке: "конструктор (или что там у них)". Наверное, потому от них ускользает суть сообщения.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 18-Апр-22 15:54 
Кстати, а какая "обычная"? Аппаратные исключения? Сигналы? SEH? VEH? C++ исключения?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 18:30 
Си++ исключения с размоткой стека. А так же Delphi исключения, java, c#, JavaScript и кажется питона.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 19-Апр-22 06:37 
А ещё в Бейсике было что-то вроде on error goto. Везде обычные исключения, а в Расте исключительные исключения. Это как в Си++ есть ООП, но у классов нет методов. :)

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 20-Апр-22 12:17 
Шо це такое если не методы? Что это за 4 штуки со скобочками в секции public?

class MyClass {
    private:
        int _counter = MyClass::defCounter();
    public:
        static int defCounter() {
            return 0;
        }
        int getCounter() {
            return _counter;
        }
        virtual void setCounter(int counter) {
            _counter = counter;
        }
        virtual void inc() {
            _counter++;
        }
};


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 21-Апр-22 08:45 
Открываем бесплатный черновик стандарта (например, N4860.pdf), читаем:

11.4.1 Member functions [class.mfct]
1 A member function may be defined (9.5) in its class definition, in which case it is an inline (9.2.7) member function if it is attached to the global module, or it may be defined outside of its class definition if it has already been declared but not defined in its class definition.

То есть це "функции-члены класса" (при этом - встраиваемые), как и в секции private (и ключевое слово в данном случае - лишнее, по умолчанию видимость членов класса скрыта, в отличие от struct).

Кстати, постинкримент _counter++ в Си++ писать было не принято, поскольку в общем случае при этом случалось лишнее копирование и неувязочки с итераторами, приучали к прединкременту. Почему _counter так конструируется, боюсь спрашивать, наверное, отстал от жизни.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 08:21 
Одно дело когда пользователь запускает непривилегированную программу, а совсем другое, когда может передать любые аргументы запуска в программу, затем выполняемую с правами root.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено YetAnotherOnanym , 18-Апр-22 12:03 
> hex-editor не проверяет тип файла перед открытием

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


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 22-Апр-22 01:00 
Это завсисит от нех-эдитора. Некоторые такую НЕХ наворачивают на всяких питонах и яваскриптах что там это запросто

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 19-Апр-22 03:50 
> Давайте теперь искать такие "уязвимости" в текстовых редакторах, в gcc

В gcc как раз защита не то что от дурака есть, даже от дибила из роскосмоса в наличии.

> По-моему биомусор от безопасТности

В жизни их больше. Гораздо. Готовы и свою и чужую свободу продать ради пгезопгастности.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 01:00 
В Раст нужно пускать после изучения системного программирования на Си, архитектуры систем, опыта в проектах. А то получается как вебмакаки лезут ничего не зная за пределами своего ЖоЭс.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено aname , 18-Апр-22 20:42 
Так и получился раст

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 19-Апр-22 00:46 
В кор-тиме люди с бэкграундом С++ и Хаскелл.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 22-Апр-22 00:56 
А, вот почему постоянно синтаксис перефигачивают добавляя i++'ную порцию закорючек и тащут все подряд в монолитную стдлибу, а что монолитность стлибы вовсе не фича доходит только после смачного пинка торвальдся.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 19-Апр-22 03:56 
В Си нужно пускать после изучения программирования на любом из ассемблеров

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено vdb , 20-Апр-22 16:01 
А к текстовому редактору допусткать только тех, кто прошёл курс работы с перфокартами!

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 01:20 
Привыкли писать веб, который работает в контейнере, как в однопользовательской системе. Люди вообще без понятия о том, как операционная система устроена. Иксы ещё лет десять проживут с такими альтернативами, а может и двадцать.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 01:28 
> Уязвимости в ... Программа написана на языке Rust.

Нет слов... Выкинули работающие иксы, засунули дыры вяленого на расте.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Fracta1L , 18-Апр-22 07:46 
Нашли детские уязвимости в какой-то студенческой поделке, которую, похоже, мало кто использует (в Plasma у меня этой программы нет, например). Фанбои сишки теперь 5 лет будут молиться на эту новость 😄

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 08:24 
Поделка не поделка,  а в  openSUSE используется https://bugzilla.suse.com/show_bug.cgi?id=1196890

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Fracta1L , 18-Апр-22 08:45 
Суся это знатный винегрет, тащат всё что увидят. Из-за чего не люблю этот дистрибутив.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 12:20 
> в какой-то студенческой поделке

Да еще попали в национальную/международную базу! Вот какие поделки надо писать!


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено uis , 19-Апр-22 03:58 
Их разыскивает интерпол

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 22-Апр-22 02:03 
> Их разыскивает интерпол

У интерпола на сайте таки был клевый вулн позволяющий это организовать - требовалась фоточка и текст, и вот вас уже "разыскивает интерпол". Немало юзеров обгадилось обнаружив свою морду на сайте интерпола с самыми разными причинами розыска.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 08:46 
А кто-то может пяснить в чем уязвимость от "определить существование в системе любого файла"? Можно узнать версии апп/либ?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 09:42 
> Можно узнать версии апп/либ?

И это тоже.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 08:57 
>использует PID-файл

В винде для этого используют именованные объекты ядра.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 18-Апр-22 10:03 
И корень для пространств имён вместо \ можно указать как /. В общем, всё так же, но из Win32 не всё видно.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 22-Апр-22 02:04 
> В винде для этого используют именованные объекты ядра.

А в соседней новости наглядно показано чем все это счастье заканчивается.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Любитель Монеточки , 18-Апр-22 09:26 
swhkd - это аналог sxhkd, применяемого в тайлинговом оконном менеджер BSPWM

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 19:46 
МОЖЕТ применяться в bspwm. По дефолту в нем есть чуть больше чем ничего. Идеальная вещь для создания рабочего окружения с нуля.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Анонн , 18-Апр-22 11:26 
На самом деле это офигенно. Группа каких-то 18летних студней писала свою поделку не зная особенности работы с POSIX и при этом ни разу не налажала с памятью! По-крайней мере не в этом случае.

Не то что бородатые диды из zlib или ядра...


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 11:36 
Просто они ещё не добрались до памяти.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Анонн , 18-Апр-22 11:43 
А... т.е. привилегия портить память дается только когда ты отрастил бороду и свитер...
Где ж вы раньше были!

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 12:59 
Молодые растаманы ещё не прочитали всю спеку раста и не знают про unsafe

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 18-Апр-22 15:41 
> На самом деле это офигенно. Группа каких-то 18летних студней писала свою поделку
> не зная особенности работы с POSIX и при этом ни разу
> не налажала с памятью!

- Папа, я выиграл дело, которое ты вёл 30 лет!
- Эх, сынок, я 30 лет кормил нашу семью...

"файл конфигурации целиком загружается и разбирается без проверки размера и типа файла"



"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Ананоним , 18-Апр-22 13:58 
Эа это же тонкий тролинг ржавых!

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 14:14 
Да какой уж троллинг. Это провал, про который хрустики предпочитают помалкивать. Как про тот корабль, который почему-то утонул.  

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 18-Апр-22 15:44 
> Как про тот корабль, который почему-то утонул.

Опа. А Rust Foundation застрахована, как тот Титаник?



"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 16:12 
Зачем Foundation'у делится халявой еще со страховыми?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 19-Апр-22 06:05 
Любой успешный бизнес построен на идее делиться. В вырожденном случае это хорошо видно на схеме Понци. :)

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 19-Апр-22 07:52 
> бизнес построен на идее делиться

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


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 19-Апр-22 09:01 
Тебе не надоело каждую тему засерать?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 19-Апр-22 14:46 
Старая схемка "по братски": половина моя, половина наша!

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено burjui , 20-Апр-22 10:24 
А, ну да, теперь нормальные программисты должны нести ответственность за школоту без опыта, которая пишет на Rust, и которая к первым не имеет никакого отношения. Логика, достойная филдсовской медали (шоколадной).

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 22-Апр-22 00:53 
Эк ты себя обделал. Нормальные программисты не очень любят делать глубокий заглот MS, Amazon и Google для начала.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 22-Апр-22 02:41 
> Эк ты себя обделал. Нормальные программисты не очень любят делать глубокий заглот MS, Amazon и Google для начала.

То ли дело твои любимые IBM, Oracle, Sony (и опа ... МС)?
https://linuxfoundation.org/board-of-directors/


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 18-Апр-22 23:19 
Как только новость про rust какой-то один анонимный неадекват у которого номер теперь Аноним (49) загаживает всю тему 💩
На этот раз он примерно шестую часть комментариев нафлудил, а не половину.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено n00by , 19-Апр-22 06:42 
ad aequatus -- к подобному.

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 19-Апр-22 12:57 
> Примечательно, что в выпущенном исправлении PID-файл перенесён не в каталог /run, а в каталог /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), где ему тоже не место.

Они там часом не идиоты? Впечатление возникло именно такое.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 19-Апр-22 13:00 
Поторопился под впечатлением, ввше уже ответили:

> здесь просто тупое непонимание основ POSIX'а и программирования под него.


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено qsdg , 19-Апр-22 13:00 
> @mkdir -p /etc/$(DAEMON_BINARY)/runtime
> @sudo chown root:root /etc/$(DAEMON_BINARY)/runtime
> @sudo chmod 700 /etc/$(DAEMON_BINARY)/runtime

То есть они даже не атомарно его создают :facepalm:

Я бы делал что-то типа $(uname 077 && sudo mkdir /etc/$(DAEMON_BINARY)/runtime)


"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 19-Апр-22 15:22 
Уязвимость в программе написанном на Расте?

"Уязвимости в swhkd, менеджере горячих клавиш для Wayland"
Отправлено Аноним , 20-Апр-22 13:51 
И это ещё только начало, малые крохи написаны на расте.