Autor: Batou | 28.6.2014 |
Algoritmus LZO (Lempel-Ziv-Oberhumer) má i přes svůj název (lempl v názvu) jedinečné vlastnosti. Posláním LZO je komprese/dekomprese dat, přičemž jeho hlavní devizou je rychlost dekomprese. Tu má až 5 vyšší než jeho konkurenti, proto je využíván všude tam, kde je to potřeba. Například v linuxovém jádře. Najdeme ho v Mac OS, Androidu, Playstationu či v knihovnách OpenVPN, MPlayer2 nebo třeba FFmpeg.
Kupodivu však také na Marsu, kde se již 2 roky prohání v útrobách Curiosity, jehož mise je naplánována do roku 2020. Jak však experti z NASA situaci komentovali, je podle nich velmi nepravděpodobné, že by se nějakému útočníkovi podařilo vůbec k jeho ovládání dostat, natož nahrát vhodný payload.
Zranitelnosti, které LZO postihují, mají následující označení:
Původně byl implementován v ANSI C, dnes ho však najdeme také v Perlu, Pythonu či Javě. Nalezená zranitelnost umožňuje přetečení zásobníku, DoS nebo vzdálené vykonání kódu. Je však zapotřebí zajistit, aby se program implementující algoritmus snažil dekomprimovat více než 16 MB dat jediným voláním funkce, která se o to stará. Ukázky kódu a mnohem více informací naleznete na blogu SecurityMouse.
LZO je opraven ve verzi 2.07 a v linuxovém jádře verze 3.15.2.