Berlin merkezli bir girişim şirketi, bu platform üzerine kurulu birçok uygulama kataloğu tarafından kullanılan Pling'de uzaktan kod yürütme (RCE) güvenlik açığı ve siteler arası komut dosyası çalıştırma (XSS) açığı tespit etti. Bu güvenlik açığı, JavaScript kodunun diğer kullanıcıların yetki alanında çalıştırılmasına olanak sağlayabilir. Etkilenen siteler arasında store.kde.org, appimagehub.com, gnome-look.org, xfce-look.org ve pling.com gibi önde gelen açık kaynaklı uygulama katalogları yer alıyor .
Açıklıkları bulan Positive Security, Pling kodunda hataların hala mevcut olduğunu ve bakımcılarının güvenlik açığı raporlarına yanıt vermediğini söyledi.
Bu yılın başlarında, popüler masaüstü uygulamalarının kullanıcı tarafından sağlanan URI'leri nasıl ele aldığına baktık ve bunların birçoğunda kod yürütme güvenlik açıkları bulduk. Kontrol ettiğim uygulamalardan biri, güvenilmeyen URI'leri güvensiz bir şekilde ele aldığı ortaya çıkan KDE Discover App Store'du (CVE-2021-28117, KDE Güvenlik Danışmanlığı).
Yol boyunca, diğer özgür yazılım pazarlarında hızla birkaç daha ciddi güvenlik açığı buldum.
Pling tabanlı pazarlarda tedarik zinciri saldırıları potansiyeline sahip solucanlı bir XSS ve PlingStore uygulamasının kullanıcılarını etkileyen bir RCE'den yararlanmaya devam edilebilir.
Pling , diğer şeylerin yanı sıra, Linux masaüstü temaları ve grafikleri yüklemek isteyen yaratıcılar için bir pazar yeri olarak kendini tanıtıyor ve destekçilerinden para kazanmayı umuyor. İki bölümden oluşuyor: kendi "bling" pazarınızı çalıştırmak için gereken kod ve kullanıcıların Pling pazarından temalarını yönetmek için kurabilecekleri Electron tabanlı bir uygulama. Web kodunda XSS güvenlik açığı bulunurken, istemci hem XSS hem de RCE güvenlik açığı içeriyor. Pling, pling.com ve store.kde.org'dan gnome-look.org ve xfce-look.org'a kadar birçok siteye güç veriyor.
Sorunun özü , Pling platformunun HTML formatında multimedya blokları eklemeye izin vermesidir; örneğin, bir YouTube videosu veya bir resim yerleştirmek gibi. Form aracılığıyla eklenen kod düzgün bir şekilde doğrulanmadığı için, kötü amaçlı kodlar resim kılığında eklenebiliyor ve görüntülendiğinde JavaScript kodu çalıştıracak bilgiler dizine yerleştirilebiliyor. Bu bilgilere hesap sahibi kullanıcılar erişebiliyorsa, o kullanıcının adına dizinde işlemler başlatmak, sayfalarına JavaScript çağrısı eklemek ve böylece bir tür ağ solucanı uygulamak mümkün oluyor.
Ayrıca , Electron platformu kullanılarak yazılan PlingStore uygulamasında , tarayıcı kullanmadan OpenDesktop dizinlerinde gezinmesine ve orada bulunan paketleri yüklemesine olanak tanıyan bir güvenlik açığı tespit edilmiştir. PlingStore'daki bu güvenlik açığı, kodunun kullanıcının sisteminde çalışmasına izin vermektedir.
PlingStore uygulaması çalışırken, ocs-manager işlemi de başlatılır ve WebSocket üzerinden yerel bağlantıları kabul ederek AppImage formatındaki uygulamaları yükleme ve başlatma gibi komutları yürütür . Bu komutların PlingStore uygulaması tarafından iletilmesi beklenir, ancak aslında kimlik doğrulama eksikliği nedeniyle, kullanıcının tarayıcısından ocs-manager'a bir istek gönderilebilir. Kullanıcı kötü amaçlı bir web sitesi açarsa, bu ocs-manager ile bağlantı kurabilir ve kullanıcının sisteminde kod yürütülmesine neden olabilir.
Ayrıca extensions.gnome.org dizininde bir XSS güvenlik açığı da bildirildi; eklentinin ana sayfasının URL'sinin bulunduğu alana "javascript:code" biçiminde JavaScript kodu girebilirsiniz ve bağlantıya tıkladığınızda, proje sitesi açılmak yerine belirtilen JavaScript kodu çalıştırılacaktır.
Bir yandan, sorun daha spekülatif , çünkü denetim extensions.gnome.org dizinindeki konumu içeriyor ve saldırı yalnızca belirli bir sayfayı açmayı değil, aynı zamanda bağlantıya açıkça tıklamayı da gerektiriyor. Öte yandan, doğrulama sürecinde moderatörün projenin web sitesine gidip, bağlantı formunu atlayarak kendi hesabının bağlamında JavaScript kodunu çalıştırmak istemesi de mümkün.
Son olarak, daha fazla bilgi edinmek isterseniz, ayrıntıları aşağıdaki bağlantıda bulabilirsiniz.