Säkerhetshål är inte kräsna och inte ens textredigerare är säkra. Säkerhetsforskaren Armin Razmjou upptäckte nyligen ett kritiskt säkerhetshål i de terminalbaserade textredigerarna Vim och Neovim, två populära textredigerare som kommer förinstallerade i flertalet Linux-baserade operativsystem. Säkerhetshålet som namngivits CVE-2019-12735 baseras på sättet textredigerarna hanterar modelines, en standardfunktion för att dynamiskt hantera inställningar. Genom att bara öppna en fil med preparerade modelines kan en angripare få full kontrol över systemet – utan att användaren är medveten.

 

Kodexekveringssårbarhet i Vim och Neovim

Vim är en terminalbaserad textredigerare som kommer förinstallerad i de flesta Linux-baserade operativsystem. Neovim är likväl en textredigare och kan ses som en påbyggd version av Vim. Detta innebär att sårbarheter i Vim även kan påverka Neovim, vilket säkerhetsforskaren Armin Razmjou påvisat.

Razmjou har upptäckt en sårbarhet i hur de båda textredigerarna hanterar så kallade modelines. Detta är en standardfunktion som innebär att inställningar om hur dokument ska läsas kan läggas in i dokumentet själv. Modelines tillåter bara viss funktionalitet och använder en sandlåda ifall osäkra funktioner försöker kallas. Razmjou visade dock att sandlådan kan förbigås helt och hållet vid användning av kommandot “:source!”.

 

Innebörd och hur du skyddar dig

Denna sårbarhet innebär att en angripare kan skapa en textfil som ser helt oskyldig ut – men när den öppnas med Vim eller Neovim kan kommandon köras på ditt operativsystem. Två proof-of-concept attacker släpptes på Razmjous Github, där en av dem kan användas för att få full kontrol över ett offers operativsystem.

Patcher finns ute för både Vim och Neovim och CYPRO rekommenderar därför att uppdatera dem. Vidare rekommenderar vi att stänga av modelines-funktionaliteten, då det är standard att denna är aktiverad.

 

Av Max Kardos, CYPRO.

Leave a Reply

Your email address will not be published. Required fields are marked *