Berliiniläinen startup-yritys on paljastanut Pling-ohjelmassa haavoittuvuuden etäkoodin suorittamiseen (RCE) ja sivustojenväliseen komentosarjojen suorittamiseen (XSS). Pling- ohjelmaa käyttävät useat tällä alustalla rakennetut sovellusluettelot. Haavoittuvuus saattaa sallia JavaScript-koodin suorittamisen muiden käyttäjien kontekstissa. Haavoittuvuus vaikuttaa muun muassa joihinkin johtaviin avoimen lähdekoodin sovellusluetteloihin, kuten store.kde.org, appimagehub.com, gnome-look.org, xfce-look.org ja pling.com.
Aukot löytänyt Positive Security kertoi, että virheitä on edelleen Pling-koodissa ja että ylläpitäjät eivät ole vastanneet haavoittuvuusraportteihin.
Aiemmin tänä vuonna tarkastelimme, kuinka suositut työpöytäsovellukset käsittelevät käyttäjien toimittamia URI-tunnuksia, ja löysimme useista niistä koodin suorittamisen haavoittuvuuksia. Yksi tarkistamistani sovelluksista oli KDE Discover App Store, joka osoittautui käsittelevän epäluotettavia URI-tiedostoja epävarmalla tavalla (CVE-2021-28117, KDE Security Advisory).
Matkan varrella löysin nopeasti useita vakavampia haavoittuvuuksia muilta vapaiden ohjelmistojen markkinoilta.
Wormed XSS, jolla on mahdollisuuksia toimitusketjuhyökkäyksiin Pling-pohjaisilla markkinoilla, ja PlingStore-sovellusten käyttäjiin vaikuttava ajaminen RCE: tä voidaan silti hyödyntää.
Pling esittelee itsensä markkinapaikkana, jossa luovat tekijät voivat ladata Linux-työpöytäteemoja ja -grafiikkaa muun muassa toivoen ansaitsevansa rahaa tukijoilta. Se koostuu kahdesta osasta: koodista, jota tarvitaan oman bling-basaarin pyörittämiseen, ja Electron-pohjaisesta sovelluksesta, jonka käyttäjät voivat asentaa teemojensa hallintaan Pling-markkinapaikalla. Verkkokoodi sisältää XSS-haavoittuvuuden, kun taas asiakasohjelma sisältää sekä XSS- että RCE-haavoittuvuuden. Pling ylläpitää useita sivustoja, kuten pling.com ja store.kde.org, gnome-look.org ja xfce-look.org.
Ongelman ydin on se, että Pling-alusta sallii multimedialohkojen lisäämisen HTML-muodossa, esimerkiksi YouTube-videon tai kuvan upottamiseksi. Lomakkeen kautta lisättyä koodia ei ole validoitu oikein, minkä vuoksi haitallista koodia voidaan lisätä kuvana naamioituna ja sijoittaa hakemistoon tietoja, jotka suorittavat JavaScript-koodia katseltaessa. Jos nämä tiedot ovat tilin omaavien käyttäjien saatavilla, on mahdollista käynnistää toimia hakemistossa kyseisen käyttäjän puolesta, mukaan lukien JavaScript-kutsun lisääminen heidän sivuilleen, mikä käytännössä toteuttaa eräänlaisen verkkomadon.
Lisäksi Electron-alustalla kirjoitetusta PlingStore-sovelluksesta on tunnistettu haavoittuvuus , jonka avulla se voi selata OpenDesktop-hakemistoja ilman selainta ja asentaa sieltä löytyviä paketteja. Tämä PlingStoren haavoittuvuus mahdollistaa sen koodin suorittamisen käyttäjän järjestelmässä.
Kun PlingStore-sovellus on käynnissä, myös ocs-manager-prosessi käynnistyy. Se hyväksyy paikallisia yhteyksiä WebSocketin kautta ja suorittaa komentoja, kuten lataa ja käynnistää sovelluksia AppImage-muodossa . PlingStore-sovelluksen on tarkoitus lähettää nämä komennot, mutta todellisuudessa käyttäjän selain voi lähettää pyynnön ocs-managerille todennuksen puutteen vuoksi. Jos käyttäjä avaa haitallisen verkkosivuston, se voi aloittaa yhteyden ocs-manageriin ja aiheuttaa koodin suorittamisen käyttäjän järjestelmässä.
XSS-haavoittuvuus on raportoitu myös extensions.gnome.org-hakemistossa; laajennuksen kotisivun URL-osoitteen kenttään voi määrittää JavaScript-koodia muodossa "javascript:code", ja linkkiä napsautettaessa määritetty JavaScript käynnistyy projektisivuston sijaan.
Toisaalta ongelma on spekulatiivisempi , koska moderointiin liittyy sijainti extensions.gnome.org-hakemistossa, ja hyökkäys edellyttää paitsi tietyn sivun avaamista myös linkin napsauttamista. Toisaalta on mahdollista, että vahvistusprosessin aikana moderaattori haluaa siirtyä projektin verkkosivustolle, ohittaa linkkilomakkeen ja suorittaa JavaScript-koodin tilinsä kontekstissa.
Lopuksi, jos olet kiinnostunut oppimaan lisää, löydät tiedot seuraavasta linkistä.