Gnome-filbrowser kan narres til at eksekvere VBScript

En sårbarhed i en thumbnail-funktion i Gnome Files gør det muligt at køre et potentielt ondsindet VBSCript.

Sikkerhedsekspert Nils Dagsson Moskopp har spottet en sårbarhed i GNOME Files på Linux-systemer.

Det fortæller The Register på baggrund af et indlæg fra sikkerhedseksperten.

Problemet opstår ifølge Dagsson når Gnome Files parser Windows-installationsfiler (MSI). I den forbindelse bliver en fil-navnet kørt som et eksekverbart input. Og det er, som The Register bemærker, problematisk.

I det proof-of-concept, Nils Dagsson Moskopp har lavet - læs hans indlæg for de tekniske detaljer - der narrer han Gnome Files til at lave en fil kaldet badtaste.txt via VBScript og Wine.

Dagsson forklarer, at hver gang Gnome Files forsøger at vise et ikon for en eksekverbar Windows-fil (EXE), en Windows-installer-fil (MSI) eller en genvej (LNK), så kaldes /usr/bin/gnome-exe-thumbnailer. Programmet bruges til at hive et indlejret ikon ud af de førnævnte filtyper, som så kan vises for brugeren. Alternativt bliver der vist et fallback-billede.

»Instead of parsing an MSI file to get its version number, this code creates a script containing the filename for which a thumbnail should be shown and executes that using Wine. The script is constructed using a template, which makes it possible to embed VBScript in a filename and trigger its execution,« forklarer Dagsson i sit indlæg om, hvorfor problemet opstår.

Ifølge Dagsson er det følgende linje i /usr/bin/gnome-exe-thumbnailer, der kan misbruges til at eksekvere VBScript, såfremt det er en del af et fil-navn.

DISPLAY=NONE wine cscript.exe //E:vbs //NoLogo Z:\tmp\${TEMPFILE1##*/}.vbs 2>/dev/null \

For at komme problemet til livs anbefaler Dagsson at slette alle filer i /usr/share/thumbnailers og droppe brugen af GNOME Files. Desuden anbefaler sikkerhedseksperten at afinstallere anden software, som muliggør automatisk eksekvering af dele af filnavne som kode.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk

Følg forløbet

Kommentarer (9)

Kommentarer (9)
Benjamin Bach

Hullet er lukket (i tirsdags) og Dagsson fik sit moment of fame. Meanwhile, kunne det ikke bekræftes, om det virkede, som han beskrev det, og han har ikke hjulpet med at reproducere det:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=868705

For at komme problemet til livs anbefaler Dagsson at slette alle filer i /usr/share/thumbnailers og droppe brugen af GNOME Files.

sudo apt remove gnome-exe-thumbnailer

Jeg forstår ikke, at man skal "droppe brugen af Gnome Files". Dagsson må hade dem lidt ekstraordinært, siden han finder et hul i et plugin og så anbefaler at fjerne Gnome Files (Nautilus).

Men fedt at få det frem i lyset, det er til grin, at Windows' usikre visning af thumbnails skal skabe sikkerhedshuller på en Linux desktop. Bekymrende, at der har siddet nogen og tænkt, at det var en god ide i første omgang.

Benjamin Bach

Dagssons metode virker ikke for mig på Ubuntu 16.04 (64 bit).

I øvrigt er fejlen ikke i den viste linje kode, men i denne del af gnome-exe-thumbnailer, der skriver den template, som ryger ned i en tempfil, som derefter eksekveres med cscript.exe:

Set WI = CreateObject(\"WindowsInstaller.Installer\")  
Set DB = WI.OpenDatabase(\"$INPUTFILE\",0)

Her indsætter den filnavnet uden at escape noget, så man kan bruge filens navn som injection.

Sune Marcher

Men fedt at få det frem i lyset, det er til grin, at Windows' usikre visning af thumbnails skal skabe sikkerhedshuller på en Linux desktop. Bekymrende, at der har siddet nogen og tænkt, at det var en god ide i første omgang.


Eh, "Windows' usikre visning af thumbnails"?

Hvordan er det lige at Microsoft skal have skylden for en thumbnailer implementation der har krævet omtrent lige så meget crackpåvirkning at skrive, som det tog at komme op med PHP? - "Yes, vi hiver lige dele af filnavnet ud og bruger det som del af noget VBScript, som vi executer via WINE, fordi vi er for dovne til at parse .msi formatet og hive versionsnummeret ud. Det bli'r pisse godt!".

Helge Svendsen

Hvis man bare tror man kan "fjerne" nautilus så skal man nok lige være lidt varsom, det har et par følge effekter.

Eks. vil man på min ubuntu skulle fjerne (apt remove nautilus):

The following packages will be REMOVED:
gnome-sushi insync-nautilus nautilus nautilus-admin nautilus-compare nautilus-share rabbitvcs-nautilus ubuntu-gnome-desktop

Jeg tror den sidste der er ret vigtig ..

Helge Svendsen

Jo, self kan du rent teknisk fjerne den, men der er jo en grund til, at der er en afhængighed mellem gnome desktop og nautilus.

Det er jo den meta pakke der knytter dine dependencies sammen i det, der er ubuntu-gnome-desktop.

Hvis du fjerner den, så vil du ikke længere få den advarsel, jeg pastede, og på et eller andet tidspunkt så brækker du din desktop fra hinanden uden at opdage det.

Log ind eller opret en konto for at skrive kommentarer

Pressemeddelelser

Conference: How AI and Machine Learning can accelerate your business growth

Can Artificial Intelligence (AI) and Machine Learning bring actual value to your business? Will it supercharge growth? How do other businesses leverage AI and Machine Learning?
13. sep 2017

Affecto has the solution and the tools you need

According to GDPR, you are required to be in control of all of your personally identifiable and sensitive data. There are only a few software tools on the market to support this requirement today.
13. sep 2017

Xena - an innovative force in testing next-generation communications technology

22. aug 2017