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

Исходное сообщение
"Уязвимость в приложении openSUSE-welcome, позволяющая выполнить код под другим пользователем"

Отправлено opennews , 24-Авг-23 09:55 
В приложении openSUSE-welcome, применяемом в дистрибутиве openSUSE для ознакомления новых пользователей с особенностями системы, выявлена уязвимость (CVE-2023-32184), позволяющая выполнить код с правами другого пользователя. Приложение openSUSE-welcome запускается автоматически после первого входа пользователя в систему и в случае выбора графического окружения  Xfce предлагает возможность включения альтернативных вариантов раскладки элементов на рабочем столе. Обработчик, выполняющий выбор раскладки, некорректно обрабатывал временные файлы, что позволяло другому пользователю организовать выполнение своего кода с правами жертвы, перешедшего к выбору раскладки рабочего стола Xfce...

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


Содержание

Сообщения в этом обсуждении
"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено soarin , 24-Авг-23 09:59 
Добро пожаловать, вот вам backdoor

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 10:07 
Веский довод за удаление бессмысленных приложений. Которых немало хоть в Linux, хоть в альтернативе.

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено _kp , 24-Авг-23 10:17 
>>но не учитывались коды ошибок,

Да где ж это виданно, на Питоне ошибки обрабатывать. Это чуть ли не ересь. Шутка, но основания для неё же есть.


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 10:22 
> В коде PanelLayouter::applyLayout()

Это не питон. Скрипт на питоне вызывается вот отсюда, без проверки того что входные данные для него нормально записались. А питон доверчивый, да, что ему подсунули в /tmp/layout то и отработал.


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 14:45 
> Да где ж это виданно, на Питоне ошибки обрабатывать. Это чуть ли не ересь.

Питон использует исключения, поэтому не обработать ошибку (в данном случае - при проверке наличия каталога) в принципе невозможно.

Но конкретно этот код написан на C++ и использует функции Qt, а они возвращают коды ошибок. Результат налицо.


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 25-Авг-23 06:57 
> Питон использует исключения, поэтому не обработать ошибку (в данном случае -
> при проверке наличия каталога) в принципе невозможно.

Как показали эксперименты, самая типовая реакция питоноскриптов на ошибку - забить по максимуму. А потом - возможны варианты. В убунте, например, питонапдейтер на любые проблемы сети - врет про то что апдейтов для системы - нет. Хотя они, конечно, есть, а падлюка даже прочекать не смог их наличие - но соврать уже сумел. И вот так у питонистов везде :E



"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 25-Авг-23 09:59 
Нет сети - нет апдейтов, вроде все логично. libastral в питон еще не завезли.
Но вообще странно, да. Надо чтобы сегфолтилось в отсутствии сети. Сразу будет понятно - врет, подлюка, раз сегфолтится - значит апдейты есть, надо только сеть поднять.

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 25-Авг-23 19:45 
> Нет сети - нет апдейтов, вроде все логично. libastral в питон еще не завезли.

При том сеть может как таковая быть. Что самое то издевательское. Но нормально сообщить о проблеме это поделие не умеет, и если его не гонять под strace'ом ажно - некоторые чайники пару лет уверены что для вот именно их диалекта убунты апдейта нет. Хотя на самом деле питоноужастик просто лажает в каком-то месте проверки апдейта - и выдает дефолтное "апдейтов нет", проглотив все мыслимые ошибки сети, сервера, днс, прокси или чего там возникающих по более 9000 разным причинам.

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

Не, ну что вы. Падает с жутким трейсом на 3 страницы оно как раз если сеть на свое горе все-таки нашло! После этлшл оно ведь первым делом как умная клава качает - тадам - последнюю версию апдейтера. Ну как же, апдейтиться старым апдейтером если новый есть - не айс! Только 1 маленькая проблемка: в половина случаев потом опять наступает - "апдейтов нет". На этот раз уже по другому поводу - если посмотреть внутрь, чекер оказывается наворачивается с жестким стектрейсом страницы на три. Если удастся декодировать, суть на самом деле окажется "блин, у вас версия питона не та". Кто из питоняш додумался качать новый апдейтер первым делом чтобы обнаружить что в старой системе самого-самого питона и правда нет - кто ж знает. Но это именно тот случай когда они "споткнулись и упали свим лицом на мой кулак, и так 5 раз подряд". Каждый второй релиз убунты такая хрень творилась. Поэтому апдейтов нет, пока руками не переключишь репы, вместо такой автоматики...


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Анонин , 24-Авг-23 11:15 
Прикольный патч)))
if (result != 0) {
    // TODO: something went wrong, display error message?
}

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 26-Авг-23 03:55 
>     // TODO: something went wrong, display error message?

Дорвался питоняша до си++ и привычно спитонячил в плюсоте... так спитонячить можно и на аде какой, арианщики проверяли :)


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено 1 , 24-Авг-23 11:25 
Опять сишники ...
OH SH--

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноно , 24-Авг-23 14:12 
конечно не сишники, файл то panellayouter.cpp
но кто будет разбираться в двух сортах погромистов?
тут уже работает теорема г-на Эскобара

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено FF , 24-Авг-23 15:11 
вот вам аргумент, почему во всём виноваты растофилы (не программисты) и прочие маниакальные:
это вы должны были запилить свой раст 40 лет назад, но вы не сделали, а теперь кто-то за вас должен это все исправлять и патчить.

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Анонимусс , 24-Авг-23 17:10 
А ниче, что нас 40 лет назад еще не было? 40+ лет назад запилили б̶ы̶д̶л̶о̶п̶х̶п̶ ̶д̶л̶я̶ ̶ы̶л̶и̶т̶к̶и̶  сишечку, потому что хотели побыстрее "х*як-х*як и в прод". Причем были более безопасные альтернативы, но зачем, мы же такие умные, мы ошибок не допускаем!

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено FF , 24-Авг-23 21:35 
Да вас и Раст наверно перерос.
Было бы очень смешно, если бы про прод жээсник написал.

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 16:39 
это не сищники. это ПЛЮСЫ. ды ещё в добавок и Qt.

и патч -- говно. человек явно не понимает как корректно работать с временными файлами.

ды и кстати вообще не ясно зачем ему python понадобился -- он уже внутри своего C++/Qt мог-бы всё сделать.


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 25-Авг-23 07:00 
> это не сищники. это ПЛЮСЫ. ды ещё в добавок и Qt.
> и патч -- говно. человек явно не понимает как корректно работать с
> временными файлами. ды и кстати вообще не ясно зачем ему python понадобился
> -- он уже внутри своего C++/Qt мог-бы всё сделать.

Судя по патчу он питон, си++ и информационную безопасность знает примерно одинаково. Т.е. никак. Сократить вслед за предыдущими 200 000 прочих няш-питоняш выставленных на мороз, имхо.


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Getfor , 24-Авг-23 11:48 
Всё логично, вход для одного является выходом для другого :-)

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 11:57 
ужасный код, никакой культуры разработки.

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 12:28 
Не то что твой однострочный хеллоуворлд на всех языках мира.

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 12:45 
Не надо быть гением, чтобы поддерживать культуру разработки. Врубаешь автоформатировщик, внедряешь линтеры, проводишь воспитательные беседы с членами команды, отказываешься рассматривать те MR/PR, в которых линтер валится с ошибкой.

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 12:58 
Почему нет? Обеспечь кроссплатформерность. Определи язык системы и подставь нужный перевод (само собой, система автоматического перевода должна быть). С учетом языков, пишущих справа налево. И иероглифы не забудь - должны гарантированно отображаться. И как однострочный проект поживает?

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Бульдох , 24-Авг-23 12:00 
Так линукс и есть сплошная локальная уязвимость, берёшь любой live-дистрибутив, загружаешься и делаешь что угодно от sudo с разделами и файлами, если конечно они не зашифрованы, а если зашифрованы, то возникает другая проблема, в виде диких тормозов.

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 12:23 
Тоже самое можно проделать и на форточках (да и не только), имея под руками любой дистр с WinPE

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 12:24 
А можно и вообще подтереть nvram на материнке или каком-то подключённом устройстве. Что потом только программатор.

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 12:26 
> если зашифрованы, то возникает другая проблема, в виде диких тормозов

Даже на десятилетнем i7 2700k нет никаких тормозов с полным шифрованием всего и вся на диске. Или вы про hdd механические?


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 14:12 
> Имея возможность подставить свои данные вместо исходного tar-архива, атакующий мог разместить в этом архиве дополнительные файлы

Если сторонний человек может делать что угодно в вашем /tmp, то как бы уже поздно пить "Боржоми", разве нет?

Очередная притянутая за уши чушь, а не уязвимость.


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноньимъ , 24-Авг-23 16:22 
Кстати да.
Ну наверное можно создавать там попачки и файлы под конкретным юзером?

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 16:43 
> Если сторонний человек может делать что угодно в вашем /tmp, то как бы уже поздно пить "Боржоми", разве нет?

нет!

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

и кто угодно там делать ни чего не может, Linux соблюдает права


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 17:46 
> Linux соблюдает права

Права чернокожих? Если tmpfs без noexec, то считай все. Верно заметил анон про боржоми.


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 18:29 
Лет так 40 пили боржоми и вдруг стало поздно?

На /tmp, между прочим, стоит sticky bit. Это значит что если один пользователь запишет туда какой нибудь файл, то даже с правами доступа 777 другой пользователь его удалить не может. Иначе говоря, если один пользователь создал файл в темпе, то другой не может его стереть и подставить другой. Уязвимость в данном случае заключается в том что первый не удосужился проверить смог ли он создать свой файл, или там уже лежал чужой с таким же именем. Удалить чужой, кстати, он бы все равно обломался.

https://en.wikipedia.org/wiki/Sticky_bit


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 19:00 
> The sticky bit was introduced in the Fifth Edition of Unix (in 1974) for use with pure executable files.

Боже, насколько же это древнее дерьмо...


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 25-Авг-23 02:08 
> Боже, насколько же это древнее дерьмо...

Что, окаменело, через соломинку не проходит, привыкли посвежее?


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 25-Авг-23 19:55 
> Боже, насколько же это древнее дерьмо...

Чувак, ты машину водить умеешь? Электричеством пользуешься? На поезде ездишь? Самолетом летаешь? А теперь открой вику, подивись насколько это древнее дерьмо. Всему этому более столетия уже. Что там 1974 какой-то? :)


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено ZloySergant , 25-Авг-23 21:50 
Ага, а императрица Мария Феодоровна вообще электромобилем владела (не шутка и не сарказм).

"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 24-Авг-23 18:54 
После установки openSUSE Leap 15.4 / 15.5 я вот эту лишнюю х**ню удаляю!

sudo zypper remove opensuse-welcome


"Уязвимость в приложении openSUSE-welcome, позволяющая выполн..."
Отправлено Аноним , 25-Авг-23 19:57 
> sudo zypper remove opensuse-welcome

Да вообще-то всю ненужную пакость имеет смысл удалять или не ставить изначально. А просто потому что меньше кода == меньше багов, вулнов и тормозов. Perfection isn't when there's nothing to add, but when there's nothing to remove.