Они обнаружили уязвимость в Pling, которая затрагивает KDE Store, OpenDesktop, AppImage и другие магазины.

Берлинский стартап обнаружил уязвимость удаленного выполнения кода (RCE) и уязвимость межсайтового скриптинга (XSS) в Pling, используемом несколькими каталогами приложений, построенными на этой платформе. Эта уязвимость может позволить выполнять код JavaScript в контексте других пользователей. Среди затронутых сайтов — некоторые из ведущих каталогов приложений с открытым исходным кодом, такие как store.kde.org, appimagehub.com, gnome-look.org, xfce-look.org и pling.com, и другие.

Компания Positive Security, которая нашла дыры, заявила, что ошибки все еще присутствуют в коде Pling и что его сопровождающие не ответили на отчеты об уязвимостях.

Ранее в этом году мы изучили, как популярные настольные приложения обрабатывают пользовательские URI, и обнаружили уязвимости выполнения кода в некоторых из них. Одним из проверенных мною приложений был KDE Discover App Store, который, как оказалось, обрабатывал ненадежные URI небезопасным образом (CVE-2021-28117, KDE Security Advisory).

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

Загрязненный XSS с потенциалом атак на цепочку поставок на рынках, основанных на Pling, и RCE, влияющий на пользователей приложения PlingStore, по-прежнему могут быть использованы.

Pling позиционирует себя как торговая площадка для творческих людей, где они могут загружать темы оформления и графику для Linux-десктопа, надеясь заработать деньги на своих подписчиках. Платформа состоит из двух частей: кода, необходимого для запуска собственного «базара украшений», и приложения на основе Electron, которое пользователи могут установить для управления своими темами через магазин Pling. Веб-код содержит уязвимость XSS, а клиентская часть содержит как уязвимость XSS, так и уязвимость удаленного выполнения (RCE). Pling используется на нескольких сайтах, от pling.com и store.kde.org до gnome-look.org и xfce-look.org.

Суть проблемы заключается в том, что платформа Pling позволяет добавлять мультимедийные блоки в формате HTML, например, для встраивания видео с YouTube или изображения. Код, добавляемый через форму, не проходит надлежащую проверку, что позволяет внедрять вредоносный код, замаскированный под изображение , и размещать в каталоге информацию, которая при просмотре будет выполнять JavaScript-код. Если эта информация доступна пользователям с учетной записью, то можно инициировать действия в каталоге от имени этого пользователя, включая добавление JavaScript-запроса на его страницы, фактически реализуя своего рода сетевой червь.

Кроме того , в приложении PlingStore, написанном на платформе Electron, обнаружена уязвимость , позволяющая ему перемещаться по каталогам OpenDesktop без браузера и устанавливать найденные там пакеты. Эта уязвимость в PlingStore позволяет выполнять его код в системе пользователя.

Когда приложение PlingStore запущено, также запускается процесс ocs-manager, принимающий локальные соединения через WebSocket и выполняющий команды, такие как загрузка и запуск приложений в формате AppImage . Эти команды должны передаваться приложением PlingStore, но на самом деле, из-за отсутствия аутентификации, запрос к ocs-manager может быть отправлен из браузера пользователя. Если пользователь откроет вредоносный веб-сайт, он может инициировать соединение с ocs-manager и вызвать выполнение кода в системе пользователя.

Также была обнаружена XSS-уязвимость в каталоге extensions.gnome.org; в поле с URL-адресом домашней страницы плагина можно указать код JavaScript в формате "javascript:code", и при нажатии на ссылку будет запущен указанный JavaScript вместо открытия сайта проекта.

С одной стороны, проблема носит скорее умозрительный характер , поскольку модерация связана с расположением файла в каталоге extensions.gnome.org, а для атаки требуется не только открытие конкретной страницы, но и явный переход по ссылке. С другой стороны, возможно, что в процессе проверки модератор захочет перейти на сайт проекта, обойти форму перехода по ссылке и выполнить код JavaScript в контексте своей учетной записи.

Наконец, если вас интересует более подробная информация, вы можете найти ее по следующей ссылке.


Добавить в качестве предпочтительного источника в Google