The OpenNET Project / Index page

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

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

17.04.2022 21:10

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

В состав пакета входит непривилегированный процесс swhks, выполняющий действия для горячих клавиш, и фоновый процесс swhkd, выполняемый с правами root и взаимодействующий с устройствами ввода на уровне API uinput. Для организации взаимодействия swhks и swhkd применяется Unix-сокет. При помощи правил Polkit любому локальному пользователю предоставляется возможность запуска с правами root процесса /usr/bin/swhkd и передачи ему произвольных параметров.

Выявленные уязвимости:

  • CVE-2022-27815 - сохранение PID процесса в файл с предсказуемым именем и в каталоге, доступном на запись другим пользователям (/tmp/swhkd.pid). Любой пользователь может создать файл /tmp/swhkd.pid и поместить в него pid существующего процесса, что приведёт к невозможности запустить swhkd. При отсутствии защиты от создания символических ссылок в /tmp, уязвимость может применяться для создания или перезаписи файлов в любом системном каталоге (в файл записывается PID) или определения содержимого любого файла в системе (swhkd выводит в stdout всё содержимое PID-файла). Примечательно, что в выпущенном исправлении PID-файл перенесён не в каталог /run, а в каталог /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), где ему тоже не место.
  • CVE-2022-27814 - манипулируя параметром командной строки "-c", применяемом для указания файла конфигурации, можно определить существование в системе любого файла. Например, для проверки /root/.somefile можно запустить "pkexec /usr/bin/swhkd -d -c /root/.somefile" и если файл отсутствует будет выведена ошибка "/root/.somefile doesn't exist". Как и в случае с первой уязвимостью исправление проблемы вызывает недоумение - устранение проблемы сводится к тому, что для чтения файла конфигурации теперь запускается внешняя утилита "cat" ('Command::new("/bin/cat").arg(path).output()').
  • CVE-2022-27819 - проблема также связана с использованием опции "-c", указанный через которую файл конфигурации целиком загружается и разбирается без проверки размера и типа файла. Например, для вызова отказа в обслуживании через исчерпание свободной памяти и создание паразитного ввода/вывода можно указать при запуске блочное устройство ("pkexec /usr/bin/swhkd -d -c /dev/sda") или символьное устройство, выдающее бесконечный поток данных. Проблема решена сбросом привилегий перед открытием файла, но исправление оказалось не полным, так как сбрасывается только идентификатор пользователя (UID), но идентификатор группы (GID) остаётся прежним.
  • CVE-2022-27818 - для создания Unix-сокета используется файл /tmp/swhkd.sock, создаваемый в общедоступном на запись каталоге, что приводит к похожим проблемам, что и первая уязвимость (любой пользователь может создать /tmp/swhkd.sock и генерировать или перехватывать события нажатия клавиш).
  • CVE-2022-27817 - события ввода принимаются от всех устройств и во всех сеансах, т.е. пользователь из другого сеанса Wayland или из консоли может перехватить события при нажатии горячих клавиш другими пользователями.
  • CVE-2022-27816 - процесс swhks, как и swhkd, использует PID-файл /tmp/swhks.pid в общедоступном на запись каталоге /tmp. Проблема аналогична первой уязвимости, но не столь опасна, так как swhks выполняется под непривилегированным пользователем.


  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимость в стандартной библиотеке языка Rust
  3. OpenNews: Уязвимость в сетевых библиотеках языков Rust и Go, позволяющая обойти проверку IP-адресов
  4. OpenNews: Уязвимости в Please, альтернативе sudo, написанной на языке Rust
  5. OpenNews: Уязвимость в Polkit, позволяющая повысить свои привилегии в системе
  6. OpenNews: Критическая уязвимость в PolKit, позволяющая получить root-доступ в большинстве дистрибутивов Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57032-swhkd
Ключевые слова: swhkd, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (163) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:14, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +63 +/
    Надо было писать на... а, погодите-ка. Ну значит это не уязвимость. Просто ошиблись, с кем не бывает. Ну ошиблись, ну и что? А вы знаете, сколько уязвимостей у программ на си? Уязвимость на уязвимости!
     
     
  • 2.3, Аноним (3), 21:22, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Тут везде повсюду аут оф мемори, как на сях.
     
     
  • 3.10, Dzen Python (ok), 21:44, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Здесь еще луДше - здесь просто тупое непонимание основ POSIX'а и программирования под него.
     
     
  • 4.27, ананим.orig (?), 23:09, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    кто-то еще аргумент (основной) помнит - иксы работают от рута,
    сделаем вяленого без всех этих багов.
    результат - и рут никуда не делся, и баги только множатся.
     
     
  • 5.33, anonymous (??), 00:04, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    не в руте x11 дело в а том что иксы читают весь ввод для всех программ, эта "особенность" и была последней каплей для перхода на Wayland.
     
     
  • 6.49, Аноним (49), 02:33, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > не в руте x11 дело

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

     
     
  • 7.82, Placeholder (ok), 10:59, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    С системд точно так же - сначала кричали про "ой как быстро", в теперь - "скорость это не главное"
     
     
  • 8.149, Аноним (149), 10:41, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    171 Хамелео 769 н 187 8212 рассказ русского писателя Антона Павловича Че... текст свёрнут, показать
     
  • 7.115, Анонн (?), 17:19, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не у вяленого, а у одной конкретной реализации. И то - баг.
    А в иксах - это defect by design, и ничем ты его не исправишь.
     
     
  • 8.127, Аноним (127), 23:31, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Исправишь, но это усложнит X11 Привилегированные и непривилегированные клиенты ... текст свёрнут, показать
     
  • 7.130, anonymous (??), 02:15, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ничего не понял. "Пели" про то что иксы невозможно сделать безопасными по определению, и главная фишка это особенность протокола, из за которой любая запущеная программа читает весь ввод в любом окне, пароли в том числе. Запуск от рута и чтение пикселов экрана это так вишенка на торте. У вяленого все перделано с 0 и эти дыры закрыты.
     
     
  • 8.147, Аноним (49), 07:57, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Классно сказал ПЕРДЕЛано Именно так Либо ничего не работает, либо дыры По... текст свёрнут, показать
     
     
  • 9.157, anonymous (??), 22:26, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    а да тут просто уже религиозный фанатизм попер, а я то чситал что просто по недо... текст свёрнут, показать
     
  • 5.161, vdb (?), 15:54, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > сделаем вяленого без всех этих багов.

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

     
  • 4.32, Аноним (32), 23:53, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Не, круче - тут непонимание основ программирования - одно только чтение конфига через утилиту cat - зойчем?!
     
     
  • 5.37, Аноним (37), 00:41, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем основы программирования, когда суперпупер язык сам все могёт, и думать тоже.
     
  • 5.50, Аноним (49), 02:34, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > чтение конфига через утилиту cat - зойчем?!

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

     
  • 5.66, Онаним (?), 09:20, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не просто cat, а /bin/cat, положив болт на PATH.
    Хрустопогромисты сферические в вакууме.
     
     
  • 6.91, mymedia (ok), 12:17, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Setuid программы не должны учитывать PATH. Иначе cat можно будет подменить. Это же основы POSIX-программирования.
     
     
  • 7.103, Онаним (?), 14:46, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    При setuid вообще нежелательно никаких внешних утилит вызывать, потому что таковые могут быть подменены.
    И даже проверка root/root и отсутствия привилегий для all может не спасти.
     
     
  • 8.104, Онаним (?), 14:48, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ныне для setuid есть ещё тема даунгрейдить привилегии при вызове в случаях, когд... текст свёрнут, показать
     
  • 4.78, Аноним (78), 10:34, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > непонимание основ POSIX'а и программирования под него

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

     
     
  • 5.80, Аноним (49), 10:36, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по личным страничкам - 18-летние энтузиасты.
     
  • 5.107, uis (ok), 15:33, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Виндузятники
     
  • 2.48, Аноним (49), 01:55, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Гремучая смесь: раст + вяленый.
     
     
  • 3.58, Аноним (58), 08:27, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты еще скажи спасибо что этот "программер" не стал писать СИ + X свою программу, а то ты бы вдруг её запустил и тебя засосала черная дыра.
     
     
  • 4.61, Аноним (49), 08:46, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Таких прогеров надо держать в песочнице, чтобы  они думали, что пишут для линуха, а на самом деле ничего из их творения не использовать во внешнем мире.
     
     
  • 5.67, n00by (ok), 09:24, 18/04/2022 Скрыто ботом-модератором     [к модератору]
  • –5 +/
     
     
  • 6.72, bergentroll (ok), 09:57, 18/04/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 7.75, n00by (ok), 10:09, 18/04/2022 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 8.86, Аноним (49), 11:39, 18/04/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 9.106, n00by (ok), 15:32, 18/04/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 10.122, Онаним (?), 22:47, 18/04/2022 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 4.69, lovewindows (?), 09:40, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Там порог вхождения выше, он бы не вошёл...
     
     
  • 5.89, Аноним (89), 12:05, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Там порог вхождения выше, он бы не вошёл...

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

     
     
  • 6.93, Аноним (93), 12:36, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    И где теперь Delphi?
     
     
  • 7.98, Аноним (98), 13:36, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тому, кто поставил минус: а нигде. Delphi умер практически.
     
     
  • 8.102, Аноним (89), 14:22, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А в огороде бузина ... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (37)

  • 1.2, Аноним (2), 21:21, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Надо читать умные книжки про системное программирование
    >Примечательно, что в выпущенном исправлении PID-файл перенесён не в каталог /run, а в каталог /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), где ему тоже не место.

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

     
     
  • 2.5, НяшМяш (ok), 21:32, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Надо читать умные книжки про системное программирование

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

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

     
     
  • 3.11, Dzen Python (ok), 21:44, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Скинь пдф'ник свежей, что ли? В метро хоть почитаю
     
  • 2.22, Онаним (?), 22:28, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Да ничего грустного. Видишь "rust" - обходишь на всякий случай радиусом в полкилометра.
     
     
  • 3.64, Аноним (58), 08:57, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    грустно в другом, когда из зала раздаются окрики не о том что актёр плохой, а про то что ему мешают  его яйца, и если бы они(яйца) были как у кричащего из зала то и танцевал бы актёр на порядок лучше.
     
  • 2.44, Аноним (49), 01:38, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Долбить /etc записью - это растаманы мощно придумали!
     
     
  • 3.65, Онаним (?), 09:11, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Долбить /etc записью - это растаманы мощно придумали!

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

     
  • 3.76, Аноним (2), 10:29, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это не расстоманы придумали, это создатели unix подобный операционных систем придумали, которые больше 20 лет долбили смонтированные операционные системы в /etc/mtab

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

     
     
  • 4.77, Аноним (2), 10:30, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    *список смонтированных файловых систем в /etc/mtab
     
  • 4.110, uis (ok), 15:42, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ls -l /etc/mtab
    /etc/mtab -> /proc/self/mtab

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

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

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

     
     
  • 5.121, Аноним (121), 22:44, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Posix совместимую Винду все умеют ставить
     
     
  • 6.131, uis (ok), 03:26, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Sarcasm
     
  • 5.123, Аноним (123), 23:06, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Еще в RHEL 6 /etc/mtab был просто файл, который утилиты mount/umount обновляли при изменении.
    Только в RHEL 7 вышедшем в 2014 перешли на mtab
    Debian тоже только с wheezy перешел на mtab
     
     
  • 6.124, Аноним (123), 23:07, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    *следали /etc/mtab символьной ссылкой на /proc/mounts
     
  • 6.125, Аноним (123), 23:12, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    "Однако, если вы используете параметр _netdev в /etc/fstab для указания того, что файловая система является сетевой файловой системой, которой требуется специальное обращение, то он больше не будет установлен в /proc/mounts после перезагрузки."

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

     

  • 1.4, pashev.ru (?), 21:29, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Раст - это всё ещё инструмент, острый как бритва, хоть и безопасная.
     
  • 1.6, Аноним (6), 21:38, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Мыши плакали, кололись, но продолжали жрать кактус.

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

    // b.

     
     
  • 2.8, Аноним (8), 21:40, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не все линукспользователи жрут этот кактус.
     
     
  • 3.36, rhbm (?), 00:17, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Некоторым мы его уже с другой стороны засунули. И велели радоваться.

     
  • 2.52, iPony129412 (?), 04:58, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Извините, другого линукс десктопа для вас нет.
     

  • 1.9, Dzen Python (ok), 21:42, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Хе. А как же язык, который не то что дырень-в-сях, сам за программиста ошибки правит и уязвимостей не оставляет?
     
     
  • 2.16, Аноним (16), 22:00, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Похоже нас обманули раст не нужен расходимся.
     
     
  • 3.156, nvidiaamd (?), 20:40, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что, все, переобулись?
     
  • 2.26, Аноним (26), 23:03, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Именно. Ни одной проблемы с памятью. Ни одного получения рута. Так что как видим - оно работает.
     
  • 2.51, Аноним (51), 02:46, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Да ты издеваешься. Раст продаётся как кресты, в которые RAII засунули в компайл-тайм, не более того. Как он от логических ошибок защитит? Может ещё из Idris зависимые типы вкрутить, чтобы и от них защищал?
     
     
  • 3.94, Аноним (78), 12:54, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Как он от логических ошибок защитит?

    Металогика

     
  • 3.100, Аноним (16), 14:13, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А защиту от переполнения целочисленной переменной не засунули. А зачем тогда это всё было нужно. Спойлер: Это все с растом было ненужно.  
     
     
  • 4.116, Аноним (116), 17:54, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В компайл-тайм ты статически не можешь вывести текущее значение переменной общем случае не то что на практике, а в теории. Исчерпывающим может быть только анализ констант и их свертки. А так программа из внешнего источника может получить на вход какое угодно число. Проверять границы переменных - это часть бизнес-логики и на это пишут тесты в первую очередь.
     

  • 1.13, Аноним (13), 21:45, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А почему не в /run/user/'id -u' ? Уже лет 15 все файлы там, другие пользователи туда доступа не имеют. Проблемы как всегда из разряда тех, что исправляют в первую очередь для программ на си. Ржавчина мозг не заменит.
     
     
  • 2.18, pashev.ru (?), 22:23, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Создавать директории, да ещё до сброса привилегий - это сложна 🤭
     
  • 2.81, Juha (ok), 10:43, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    К сожалению на stackoverflow примера быстро не нагуглилось, пришлось импровизировать.
     
     
  • 3.132, uis (ok), 03:31, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Rust copycoding
     

  • 1.14, Павел Отредиез (ok), 21:52, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У Xorg есть возможность рисовать программы по сети. Есть ли у Wayland? Если нету, то взялся бы кто нибудь написать, за основу можно взять например broadway из gtk3. Отрисовка в  браузере очень перспективненько...
     
     
  • 2.25, ждем ебилдов (?), 22:50, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуйте поискать где-то здесь: arewewaylandyet.com/
     
     
  • 3.42, Павел Отредиез (ok), 01:32, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Попробуйте поискать где-то здесь: arewewaylandyet.com/

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

     
  • 2.45, Аноним (49), 01:42, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > программы по сети

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

     
     
  • 3.47, Павел Отредиез (ok), 01:47, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> программы по сети
    > Представляешь, какие будут растовые дырени?!

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

     
     
  • 4.53, Аноним (49), 05:04, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > главное функционал

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

     
     
  • 5.154, Павел Отредиез (ok), 15:08, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> главное функционал
    > Для функционала есть иксы. И там всё есть.

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

     

  • 1.15, Аноним (16), 21:59, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В xkb такой фигни не было.
     
     
  • 2.19, Аноним (19), 22:25, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В xkb много чего не было. И нет. К сожалению.
     

  • 1.20, sigprof (ok), 22:25, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Т.е., из-за того, что в Wayland нет аналога XGrabKey() (по поводу https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/56 с 2017 года так ни до чего и не договорились), сгородили дичайший костыль, перехватывающий события ввода с правами root? Вот уж действительно «новый безопасный протокол».

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

     
     
  • 2.28, Аноним (2), 23:15, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >в Wayland нет аналога XGrabKey() ... сгородили дичайший костыль

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

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

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

     
     
  • 3.128, Аноним (128), 00:42, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Позволяет кому угодно читать клавиатурный ввод

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

     

  • 1.21, pashev.ru (?), 22:27, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    > Как и в случае с первой уязвимостью исправление проблемы вызывает недоумение - устранение проблемы сводится к тому, что для чтения файла конфигурации теперь запускается внешняя утилита "cat" ('Command::new("/bin/cat").arg(path).output()').

    Автор патча:

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

     
     
  • 2.46, Аноним (49), 01:47, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На Западе прогеры давно уже отсутствуют.
     
     
  • 3.59, Аноним (26), 08:29, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да-да, там все уже сгнили, настоящие прогеры™ остались только в вяликой и магучей...
     
     
  • 4.73, Аноним (73), 10:01, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не поверишь, но большенство работ выполняются "специалистами" из других, более дешёвых, стран, а в "цивилизованных" странах в основном сидят основном руками водители, которые присваивают себе заслуги
     
     
  • 5.134, uis (ok), 03:39, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И оба правы
     
  • 2.133, uis (ok), 03:37, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Где мой небольшой собственный дом, лаборатория и кошкажена?
     

  • 1.23, Шарп (ok), 22:42, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    >Программа написана на языке Rust
    >выявлена серия уязвимостей
    >вызывает недоумение
    >для чтения файла конфигурации теперь запускается внешняя утилита "cat"
    >исправление оказалось не полным

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

     
  • 1.24, Ты (?), 22:47, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    переполнений нет. удивительно! на чём написано?
     
     
  • 2.29, Аноним (26), 23:18, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да на чем угодно, кроме сишечки
     
     
  • 3.135, uis (ok), 03:39, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пиши на ассемблере
     
  • 2.136, uis (ok), 03:40, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не на чём, а для чего. Для гипотетической архитектуры с бесконейчными регистрами.
     

  • 1.30, Аноним (2), 23:18, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В actkbd https://github.com/thkala/actkbd нету такого ужаса. И работает оно даже в ядерной консоли, а не только в xorg или wayland
     
     
  • 2.31, Аноним (2), 23:22, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    "Как и в случае с первой уязвимостью исправление проблемы вызывает недоумение - устранение проблемы сводится к тому, что для чтения файла конфигурации теперь запускается внешняя утилита "cat" ('Command::new("/bin/cat").arg(path).output()').
    "
    Разработчик конечно молодец что смог написать сложную программу, но как-то это совсем не дело.
     
     
  • 3.83, PnD (??), 11:12, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Писал как я понял подросток (сейчас ему 18).
    В качестве "шефской помощи" взрослые дяди с опытом могли бы накидать ему патчей. С разъяснением что к чему.
    Но вот беда… Код — на rust.
     
     
  • 4.90, Аноним (78), 12:12, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Но вот беда… Код — на rust.

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

     
  • 4.96, warlock (??), 13:29, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    М как этим взрослым дядям мешает то, что кода на Rust?
     
  • 4.137, uis (ok), 03:45, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Звучит как диагноз код на java или "код" на delphi
     

  • 1.34, Аноним (32), 00:09, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Жёваный ты крот да большая часть всех программ рассчитывает на то, что если пол... большой текст свёрнут, показать
     
     
  • 2.35, warlock (??), 00:16, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Текстовые редакторы и gcc не имеют suid флага (или эквивалентного привелегированного демона).

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

     
     
  • 3.43, Аноним (43), 01:36, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    вы, наверное, живёте в мире, где mmap() ещё не придумали...
     
     
  • 4.71, n00by (ok), 09:46, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Расте конструктор (или что там у них) utf-8 строки сразу проверяет входящие в неё символы на валидность, иначе кидает исключение... если дочитает строку.
     
     
  • 5.97, sat (?), 13:30, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В расте нет ни конструкторов, не исключений
     
     
  • 6.105, n00by (ok), 15:15, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Аж сайт Яндекса стал недоступен, но с третьего раза таки выдал: "Исключения. В Rust применяется необычная система работы с исключениями."

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

     
     
  • 7.108, Аноним (49), 15:41, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > необычная система

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

     
     
  • 8.112, n00by (ok), 15:47, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Примерно тоже, что знатокам упорно непонятно в заранее сделанной в скобочках ого... текст свёрнут, показать
     
  • 8.113, n00by (ok), 15:54, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, а какая обычная Аппаратные исключения Сигналы SEH VEH C исключе... текст свёрнут, показать
     
     
  • 9.117, Аноним (121), 18:30, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Си исключения с размоткой стека А так же Delphi исключения, java, c , JavaScr... текст свёрнут, показать
     
     
  • 10.143, n00by (ok), 06:37, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А ещё в Бейсике было что-то вроде on error goto Везде обычные исключения, а в Р... текст свёрнут, показать
     
     
  • 11.159, Аноним (123), 12:17, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Шо це такое если не методы Что это за 4 штуки со скобочками в секции public cl... текст свёрнут, показать
     
     
  • 12.164, n00by (ok), 08:45, 21/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Открываем бесплатный черновик стандарта например, N4860 pdf , читаем 11 4 1 M... большой текст свёрнут, показать
     
  • 2.56, Аноним (56), 08:21, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Одно дело когда пользователь запускает непривилегированную программу, а совсем другое, когда может передать любые аргументы запуска в программу, затем выполняемую с правами root.
     
  • 2.88, YetAnotherOnanym (ok), 12:03, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > hex-editor не проверяет тип файла перед открытием

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

     
     
  • 3.169, Аноним (-), 01:00, 22/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это завсисит от нех-эдитора. Некоторые такую НЕХ наворачивают на всяких питонах и яваскриптах что там это запросто
     
  • 2.138, uis (ok), 03:50, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Давайте теперь искать такие "уязвимости" в текстовых редакторах, в gcc

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

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

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

     

     ....большая нить свёрнута, показать (16)

  • 1.39, Аноним (37), 01:00, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    В Раст нужно пускать после изучения системного программирования на Си, архитектуры систем, опыта в проектах. А то получается как вебмакаки лезут ничего не зная за пределами своего ЖоЭс.
     
     
  • 2.120, aname (?), 20:42, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так и получился раст
     
  • 2.129, Аноним (129), 00:46, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В кор-тиме люди с бэкграундом С++ и Хаскелл.
     
     
  • 3.167, Аноним (-), 00:56, 22/04/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.139, uis (ok), 03:56, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В Си нужно пускать после изучения программирования на любом из ассемблеров
     
     
  • 3.162, vdb (?), 16:01, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А к текстовому редактору допусткать только тех, кто прошёл курс работы с перфокартами!
     

  • 1.40, Аноним (40), 01:20, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Привыкли писать веб, который работает в контейнере, как в однопользовательской системе. Люди вообще без понятия о том, как операционная система устроена. Иксы ещё лет десять проживут с такими альтернативами, а может и двадцать.
     
  • 1.41, Аноним (49), 01:28, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Уязвимости в ... Программа написана на языке Rust.

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

     
  • 1.55, Fracta1L (ok), 07:46, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Нашли детские уязвимости в какой-то студенческой поделке, которую, похоже, мало кто использует (в Plasma у меня этой программы нет, например). Фанбои сишки теперь 5 лет будут молиться на эту новость 😄
     
     
  • 2.57, Аноним (56), 08:24, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Поделка не поделка,  а в  openSUSE используется https://bugzilla.suse.com/show_bug.cgi?id=1196890
     
     
  • 3.60, Fracta1L (ok), 08:45, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Суся это знатный винегрет, тащат всё что увидят. Из-за чего не люблю этот дистрибутив.
     
  • 2.92, Аноним (78), 12:20, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > в какой-то студенческой поделке

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

     
     
  • 3.140, uis (ok), 03:58, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Их разыскивает интерпол
     
     
  • 4.170, Аноним (-), 02:03, 22/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Их разыскивает интерпол

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

     

  • 1.62, Аноним (-), 08:46, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А кто-то может пяснить в чем уязвимость от "определить существование в системе любого файла"? Можно узнать версии апп/либ?
     
     
  • 2.70, Аноним (49), 09:42, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно узнать версии апп/либ?

    И это тоже.

     

  • 1.63, Аноним (63), 08:57, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >использует PID-файл

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

     
     
  • 2.74, n00by (ok), 10:03, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И корень для пространств имён вместо \ можно указать как /. В общем, всё так же, но из Win32 не всё видно.
     
  • 2.171, Аноним (-), 02:04, 22/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > В винде для этого используют именованные объекты ядра.

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

     

  • 1.68, Любитель Монеточки (?), 09:26, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    swhkd - это аналог sxhkd, применяемого в тайлинговом оконном менеджер BSPWM
     
     
  • 2.119, Аноним (119), 19:46, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    МОЖЕТ применяться в bspwm. По дефолту в нем есть чуть больше чем ничего. Идеальная вещь для создания рабочего окружения с нуля.
     

  • 1.84, Анонн (?), 11:26, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На самом деле это офигенно. Группа каких-то 18летних студней писала свою поделку не зная особенности работы с POSIX и при этом ни разу не налажала с памятью! По-крайней мере не в этом случае.

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

     
     
  • 2.85, Аноним (49), 11:36, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто они ещё не добрались до памяти.
     
     
  • 3.87, Анонн (?), 11:43, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А... т.е. привилегия портить память дается только когда ты отрастил бороду и свитер...
    Где ж вы раньше были!
     
     
  • 4.95, Аноним (49), 12:59, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Молодые растаманы ещё не прочитали всю спеку раста и не знают про unsafe
     
  • 2.109, n00by (ok), 15:41, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > На самом деле это офигенно. Группа каких-то 18летних студней писала свою поделку
    > не зная особенности работы с POSIX и при этом ни разу
    > не налажала с памятью!

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

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


     

  • 1.99, Ананоним (?), 13:58, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Эа это же тонкий тролинг ржавых!
     
     
  • 2.101, Аноним (16), 14:14, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Да какой уж троллинг. Это провал, про который хрустики предпочитают помалкивать. Как про тот корабль, который почему-то утонул.  
     
     
  • 3.111, n00by (ok), 15:44, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Как про тот корабль, который почему-то утонул.

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


     
     
  • 4.114, Аноним (78), 16:12, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем Foundation'у делится халявой еще со страховыми?
     
     
  • 5.141, n00by (ok), 06:05, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Любой успешный бизнес построен на идее делиться. В вырожденном случае это хорошо видно на схеме Понци. :)
     
     
  • 6.146, Аноним (49), 07:52, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > бизнес построен на идее делиться

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

     
     
  • 7.148, Аноним (121), 09:01, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе не надоело каждую тему засерать?
     
  • 7.153, n00by (ok), 14:46, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Старая схемка "по братски": половина моя, половина наша!
     
  • 3.158, burjui (ok), 10:24, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А, ну да, теперь нормальные программисты должны нести ответственность за школоту без опыта, которая пишет на Rust, и которая к первым не имеет никакого отношения. Логика, достойная филдсовской медали (шоколадной).
     
     
  • 4.166, Аноним (-), 00:53, 22/04/2022 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 5.173, Аноним (89), 02:41, 22/04/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (10)

  • 1.126, Аноним (123), 23:19, 18/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как только новость про rust какой-то один анонимный неадекват у которого номер теперь Аноним (49) загаживает всю тему 💩
    На этот раз он примерно шестую часть комментариев нафлудил, а не половину.
     
     
  • 2.144, n00by (ok), 06:42, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ad aequatus -- к подобному.
     

  • 1.150, Аноним (150), 12:57, 19/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Примечательно, что в выпущенном исправлении PID-файл перенесён не в каталог /run, а в каталог /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), где ему тоже не место.

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

     
     
  • 2.152, Аноним (150), 13:00, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поторопился под впечатлением, ввше уже ответили:

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

     

  • 1.151, qsdg (ok), 13:00, 19/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > @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)

     
  • 1.155, Аноним (-), 15:22, 19/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уязвимость в программе написанном на Расте?
     
     
  • 2.160, Аноним (49), 13:51, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И это ещё только начало, малые крохи написаны на расте.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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