Natuklasan nila ang isang kahinaan sa Pling na nakakaapekto sa KDE Store, OpenDesktop, AppImage at iba pang mga tindahan

Isang startup na nakabase sa Berlin ang nagsiwalat ng isang kahinaan sa remote code execution (RCE) at isang cross-site scripting (XSS) flaw sa Pling, na ginagamit ng ilang application catalog na binuo sa platform na ito. Ang kahinaang ito ay maaaring magpahintulot sa JavaScript code na maisagawa sa konteksto ng ibang mga user. Kabilang sa mga apektadong site ang ilan sa mga nangungunang open-source application catalog, tulad ng store.kde.org, appimagehub.com, gnome-look.org, xfce-look.org, at pling.com, bukod sa iba pa.

Ang Positive Security, na natagpuan ang mga butas, ay nagsabi na ang mga bug ay naroroon pa rin sa Pling code at ang mga nagpapanatili nito ay hindi tumugon sa mga ulat sa kahinaan.

Mas maaga sa taong ito, tiningnan namin kung gaano kasikat ang mga desktop app na humahawak sa mga URI na ibinigay ng gumagamit at natagpuan ang mga kahinaan sa pagpapatupad ng code sa ilan sa mga ito. Ang isa sa mga app na aking nasuri ay ang KDE Discover App Store, na naging pangasiwaan ang mga hindi pinagkakatiwalaang URI sa isang walang katiyakan na paraan (CVE-2021-28117, KDE Security Advisory).

Sa daan, mabilis akong nakakita ng maraming mas seryosong kahinaan sa iba pang mga libreng software market.

Ang isang wormed XSS na may potensyal para sa pag-atake ng supply chain sa mga merkado na nakabatay sa Pling at isang drive-by RCE na nakakaapekto sa mga gumagamit ng application ng PlingStore ay maaari pa ring pagsamantalahan.

Inihahandog ng Pling ang sarili nito bilang isang pamilihan para sa mga malikhain upang mag-upload ng mga tema at graphics sa desktop ng Linux, bukod sa iba pang mga bagay, sa pag-asang kumita ng pera mula sa mga tagasuporta. Ito ay may dalawang bahagi: ang code na kailangan upang patakbuhin ang iyong sariling bling bazaar at isang Electron-based application na maaaring i-install ng mga user upang pamahalaan ang kanilang mga tema mula sa isang Pling marketplace. Ang web code ay naglalaman ng kahinaan ng XSS, habang ang client ay naglalaman ng parehong kahinaan ng XSS at isang RCE. Pinapagana ng Pling ang ilang mga site, mula sa pling.com at store.kde.org hanggang sa gnome-look.org at xfce-look.org.

Ang pangunahing problema ay ang platform ng Pling ay nagpapahintulot sa pagdaragdag ng mga multimedia block sa HTML format, halimbawa, upang mag-embed ng isang video sa YouTube o isang imahe. Ang code na idinagdag sa pamamagitan ng form ay hindi wastong na-validate, na nagpapahintulot sa malisyosong code na maidagdag na nakabalatkayo bilang isang imahe at maglagay ng impormasyon sa direktoryo na magpapatupad ng JavaScript code kapag tiningnan. Kung ang impormasyong ito ay maa-access ng mga user na may account, posible na simulan ang mga aksyon sa direktoryo para sa user na iyon, kabilang ang pagdaragdag ng JavaScript call sa kanilang mga pahina, na epektibong nagpapatupad ng isang uri ng network worm.

Bukod pa rito , isang kahinaan ang natukoy sa aplikasyon ng PlingStore, na isinulat gamit ang platform ng Electron, na nagbibigay-daan dito upang mag-navigate sa mga direktoryo ng OpenDesktop nang walang browser at mag-install ng mga pakete na matatagpuan doon. Ang kahinaang ito sa PlingStore ay nagbibigay-daan sa code nito na maisagawa sa sistema ng gumagamit.

Kapag tumatakbo ang PlingStore application, sinisimulan din ang proseso ng ocs-manager, na tumatanggap ng mga lokal na koneksyon sa pamamagitan ng WebSocket at nagsasagawa ng mga utos tulad ng paglo-load at paglulunsad ng mga aplikasyon sa format na AppImage . Ang mga utos na ito ay dapat na ipinapadala ng PlingStore application, ngunit sa katunayan, dahil sa kakulangan ng authentication, maaaring magpadala ng kahilingan sa ocs-manager mula sa browser ng user. Kung magbubukas ang isang user ng isang malisyosong website, maaari itong magsimula ng koneksyon sa ocs-manager at maging sanhi ng pagpapatupad ng code sa system ng user.

May naiulat ding kahinaan sa XSS sa direktoryo ng extensions.gnome.org; sa field na may URL ng home page ng plugin, maaari mong tukuyin ang JavaScript code sa format na "javascript:code" at kapag na-click mo ang link, ang tinukoy na JavaScript ay ilulunsad sa halip na buksan ang site ng proyekto.

Sa isang banda, ang problema ay mas haka-haka , dahil ang moderasyon ay kinabibilangan ng lokasyon sa direktoryo ng extensions.gnome.org, at ang pag-atake ay hindi lamang nangangailangan ng pagbubukas ng isang partikular na pahina kundi pati na rin ng tahasang pag-click sa link. Sa kabilang banda, posible na sa panahon ng proseso ng pag-verify, maaaring gusto ng moderator na pumunta sa website ng proyekto, laktawan ang link form, at isagawa ang JavaScript code sa loob ng konteksto ng kanilang account.

Panghuli, kung interesado kang matuto nang higit pa, makikita mo ang mga detalye sa sumusunod na link.


Idagdag bilang ginustong mapagkukunan sa Google