30.05.2017

Zranitelné titulky ve VLC media playeru

Zatímco v pohodlí sledujete svůj oblíbený film, váš textový soubor s titulky ožije a převezme kontrolu nad vaším počítačem. Nový vektor útoku jako vystřižený z knihy strašidelných povídek.

Cover 24

Omri Herscovici spolu se svým týmem výzkumníků ze společnosti Check Point objevil dle svých slov zcela nový způsob útoku - prostřednictvím souboru s filmovými titulky. Ano, i obyčejný textový soubor může být nebezpečný. Jakýkoliv neošetřený nebo jen částečně ošetřený vstup může být pro aplikaci potenciální hrozbou. A v případě titulků je situace ještě o to horší, jelikož existují desítky formátů titulků (sub, srt, ssa, smi, psb, ...), mnohé z nich poskytují různé nadstandardní formátovací funkce a není žádný ucelený standard pro jejich zpracování, každý multimediální přehrávač tak musí implementovat vlastní sadu parsovacích pravidel, a to navíc zvlášť pro každý formát, který se rozhodne podporovat. Což musí nevyhnutelně vést k parsovacím chybám.

Výzkumníci pak tento teoretický nápad podpořili tím, že skutečně našli chyby ve zpracování titulků ve VLC a několika dalších multimediálních přehrávačích (Popcorn Time, Kodi, Stremio) a reálně tak předvedli, že jsou touto metodou schopni převzít plnou kontrolu nad cílovým počítačem. Omri však žádné technické detaily týkající se uvedených zranitelností neprozradil, a tedy si musejí všichni šťouralové a techničtí nadšenci bohužel nechat zajít chuť…

…nebo ne? VLC je přece open source, tedy jakékoliv změny v jeho kódu by měly být dohledatelné. Mimo to, přímo v článku zranitelnost pojmenoval jako VLC ParseJSS Null Skip Subtitle Remote Code Execution, přičemž není težké dohledat, že ParseJSS je funkce v souboru subtitle.c, která zpracovává titulky ve formátu JSS (JacoSub). V pozdějším článku pro ThreatPost také zmínil, že byly v souvislosti s VLC oficiálně nahlášeny čtyři zranitelnosti, a to CVE-2017-8310, CVE-2017-8311, CVE-2017-8312 a CVE-2017-8313. Z těchto indicií a díky tomu, že celý zdrojový kód VLC se nachází i se všemi jeho změnami k dispozici na GitHubu, již není těžké konkrétní chyby a následné změny v kódu dohledat. Zde jsou:

Je zajímavé, že se nejedná o žádné rozsáhlé chyby, pro nápravu stačilo ve všech případech jen několik málo řádků kódu. Chyby byly opraveny mezi 6. až 28. dubnem, tedy nová verze přehrávače 2.2.5, vydaná (téměř po roce) na začátku května, již obsahuje zmíněné záplaty. Otázkou však je, jaké procento uživatelů již stihlo aktualizovat svůj multimediální prohlížeč na nejnovější verzi.
Více na blog.checkpoint.com

Kam dál?