Ve vyvíjené knihovně libaom, která poskytuje referenční implementaci video kódovacího formátu AV1 a kterou spravuje aliance Open Media (AOMedia), byla odhalena kritická zranitelnost (CVE-2024-5171), která vede k přetečení celočíselné proměnné a zápisu do oblasti mimo hranice zásobníku při zpracování příliš velkých hodnot v některých parametrech. Podobná zranitelnost (CVE-2024-5197) byla odhalena v knihovně libvpx, která implementuje kodeky VP8 a VP9. Problémy byly odstraněny v aktualizacích libaom 3.9.0 a libvpx 1.14.1. V distribucích zůstávají zranitelnosti dosud neopraveny (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD).
Zranitelnost v libaom byla přiřazena maximální úroveň nebezpečí (10 z 10), což implikuje možnost zneužití při zpracovávání speciálně vytvořeného obsahu v aplikacích, které používají tuto knihovnu. U libvpx byla úroveň nebezpečí stanovena na 5,9 z 10, což odpovídá omezeným možnostem zneužití. Hrozba zranitelností v libaom a libvpx pramení z toho, že tyto knihovny se používají v webových prohlížečích, multimediálních přehrávačích a službách pro překódování videa.
Zranitelnost se projevuje v libaom při volání funkcí aom_img_alloc(), aom_img_wrap() nebo aom_img_alloc_with_border() s velkými hodnotami v parametrech d_w, d_h a align, které vedou k přetečení celočíselné proměnné při výpočtu offsetů a velikostí zásobníků. Podobné přetečení se objevuje ve funkcích vpx_img_alloc() a vpx_img_wrap(). Uvedené funkce se používají při kódování videa.
Největší hrozbu zranitelnost představuje kvůli potenciální možnosti útoku na prohlížeče, kde mohly být dřívější podobné zranitelnosti zneužity prostřednictvím otevření speciálně navržené stránky v prohlížeči, která vyvolává JavaScriptové funkce pro kódování videa, nebo prostřednictvím manipulací s WebRTC. Podle zástupců společnosti Google tato zranitelnost nezasažila engine Chromium, protože do funkcí aom_img_alloc(), aom_img_wrap(), vpx_img_alloc() a vpx_img_wrap() byly předány pouze ověřené hodnoty argumentů d_w a d_h. V prohlížeči Firefox pro dekódování AV1 používá knihovnu dav1d, ale pro kódování se používá libaom. Zda je Firefox touto problémy postižen, zatím není jasné, protože informace o tom, jak zranitelnost ovlivňuje konkrétní produkty, zatím nebyly zveřejněny.
Zdroj: opennet.ru
