Populární linuxový ImageMagick je děravý jako ementál. Drobným hackem jsme smazali soubory

Populární linuxový ImageMagick je děravý jako ementál. Drobným hackem jsme smazali soubory

Hromada webových služeb běžících na linuxovém serveru používá k operacím s obrázky nástroje z balíku ImageMagick. Ty mohou třeba ořezávat a generovat fotografie, provádět jejich konverzi mezi formáty aj. Takovým typickým příkladem použití by mohla být třeba práce s úpravou profilové fotografie uživatele na nějakém webu.

ImageMagick je rychlý a mocný, nabízí totiž obrovské množství konverzních funkcí včetně generování animovaných gifů aj. Jenže kvůli této komplexnosti obsahuje také hromadu kritických chyb (CVE-2016-3714), na které nyní upozornil třeba docela adekvátně pojmenovaný web ImageTragick.

Díky těmto zranitelnostem lze poměrně snadno zneužít konverzní funkce ImageMagicku k nejrůznějším operacím v systému. Pokud například ImageMagick dostane za úkol převést grafiku ve formátu SVG, MVG aj. do něčeho jiného – třeba do rastru PNG, může vstupní soubor obsahovat příkazy, které povedou ke smazání nějakého souboru (pokud na to bude mít ImageMagick práva), ke spuštění příkazu, zavolání HTTP GET, stažení zákeřného kódu z webu aj.

Okamžitě po zveřejnění tedy hackeři vytvořili zákeřné obrázky, které zkoušejí nahrávat na nejrůznější weby, které pracují s grafikou a ví se, že používají ImageMagick. Některé velké hostingové/CDN systémy jako třeba CloudFlare a další už na tyto útoky pamatují ve svých firewallech.

Příklad útoku pomocí zákeřného obrázku

Jak může být takový útok snadný, ukážeme v příkladu níže.

Nejprve si vytvořím zákeřný soubor smazat.mvg v textovém formátu MVG (Magick Vector Graphics):

push graphic-context
viewbox 0 0 640 480
image over 0,0 0,0 'ephemeral:/tmp/pokus.txt'
pop graphic-context

Soubor obsahuje textové instrukce k vytvoření plátna o velikost 640×480 pixelů, na které se má vykreslit na pozici 0;0 obrázek ze souboru /tmp/pokus.txt. Před adresou souboru je ale klíčové slovo ephemeral, které ImageMagicku říká, aby tento soubor poté smazal.

Problém spočívá v tom, že se vůbec nejedná o obrázek, ale že to může být vlastně jakýkoliv soubor, k jehož smazání bude mít proces ImageMagicku právo.

Pokud bych takový soubor poté nahrál na nějakou službu s ImageMagickem, který se na serveru pokusí o konverzi do nějakého jednotného formátu, třeba PNG, provedl by podobnou operaci takto:

convert smazat.mvg smazat.png

V rámci zpracovávání souboru smazat.mvg by pak ImageMagick smazal soubor /tmp/smazat.txt

Klepněte pro větší obrázek
ImageMagick je velmi snadno zneužitelný k nekalým operacím

Další příklady primitivních a o to nejbezpečnějších útoků najdete na webu ImageTragick, který zároveň nabízí rady, jak balík aktuálně co nejlépe zabezpečit.

Diskuze (14) Další článek: Kalifornský startup chce zlepšit lékařskou péči ve Rwandě. Krev a léky budou doručovat drony

Témata článku: Web, Linux, Bezpečnost, Open source, Programování, Soubor, SVG, TMP, Ementál, POP, Cloudflare, ImageMagick, Lin, Vector, Nejrůznější web, Linuxový, Convert, Popular, Klíčové slovo


Určitě si přečtěte

Nejlepší programy z roku 2000: Další várka zapomenutých legend, které jste měli v PC

Nejlepší programy z roku 2000: Další várka zapomenutých legend, které jste měli v PC

** Pokračujeme ve vzpomínání na prehistorické programy ** Pročetli jsme vaše tipy v diskuzi ** A všechny ty vykopávky spustili na Windows 2000

Jakub Čížek | 72

Windy je laboratoř na počasí: 12 tipů, jak se ve službě vyznat a využít ji naplno

Windy je laboratoř na počasí: 12 tipů, jak se ve službě vyznat a využít ji naplno

** Předpověď počasí Windy nabízí nepřebernou škálu funkcí ** Zorientovat se v nich nemusí být vždy snadné ** Proto přinášíme 12 užitečných tipů a triků

Karel Kilián | 9

Apple má šanci definitivně se uzamknout. macOS byl na jeho poměry až příliš otevřený

Apple má šanci definitivně se uzamknout. macOS byl na jeho poměry až příliš otevřený

** Apple, vývojáře i uživatele rozhodně nečekají dva roky prázdnin ** macOS se může uzavřít podobně jako iOS a iPadOS ** Přechod na Arm znamená stopku pro hackintoshe

Lukáš Václavík | 102

Ubuntu 20.04: Zase vás chce přesvědčit, že je lepší než Windows

Ubuntu 20.04: Zase vás chce přesvědčit, že je lepší než Windows

** Britský Canonical před pár dny vydal novou verzi svého Ubuntu ** 20.04 LTS zapracovalo na grafickém desktopu, rychlosti i bezpečnosti ** V nitru tepe Linux 5.4 a volitelně i nový souborový systém

Jakub Čížek | 122

Podívejte se na Windows z roku 1990. Před 30 lety přišly Windows 3.0 a líbily se nám

Podívejte se na Windows z roku 1990. Před 30 lety přišly Windows 3.0 a líbily se nám

** 22. května 1990 uvedl Microsoft Windows 3.0 ** Systém z Microsoftu definitivně udělal lídra na desktopu ** Tehdejší Windows byly vlastně grafickou nadstavbou nad MS-DOS

Jakub Čížek | 76

Jak nahradit webkameru: jde to telefonem, zadarmo a s lepším obrazem

Jak nahradit webkameru: jde to telefonem, zadarmo a s lepším obrazem

** Koronavirus donutil mnohé zaměstnance pracovat z domova ** V souvislosti s tím vzrostla poptávka po webových kamerách ** Webkameru ale nemusíte kupovat – stačí mobil a aplikace!

Karel Kilián | 15

Vyrobíme si falešný Mac mini za tisícovku. Stačí Raspberry Pi a 3D tiskárna

Vyrobíme si falešný Mac mini za tisícovku. Stačí Raspberry Pi a 3D tiskárna

** Vyzkoušíme Raspberry Pi 4 s iRaspbianem ** Operační systém vypadá skoro jako macOS ** Vše strčíme do vlastní stylové krabice

Jakub Čížek | 30


Aktuální číslo časopisu Computer

Megatest SSD s kapacitou 1 TB

Srovnávací test robotických vysavačů

Vybíráme nejlepší telefony na trhu

Jak zlepšit zvuk televize