Nem csak libwebp, hanem a libvpx is... Noha a néhány napja napvilágot látott sérülékenység, a CVE-2023-4863 azonosítón nyilvántartott sérülékenységet nem sikerült a Google-nek a CVE-2023-5129 nyilvántartási számmal általánosabb hibajelentéssé tenni, de az jól látszik, hogy a WebP ezen sérülékenysége jóval általánosabb, minthogy csak a Chromium motorhoz legyen kötve a bejelentés és a hibajavítás szükségessége. A hiba, amely a sokak által használt webp programkönyvtá 0.5.0-val induló és 1.3.2-nél régebbi verziójában jelen van, vélhetően azonos a kicsit korábban BLASTPASS néven, szeptember 7-én NSO által publikált iPhone felhasználói interakciót nem igénylő 0-dik napi sérülékenységgel - amelyet már publikusan is kihasználnak. Egy speciálisan kialakított WebP veszteségmentes fájl esetén a libwebp adatokat írhat ki határokat átlépve a heapre. A ReadHuffmanCodes() függvény kiosztja a HuffmanCode puffert egy olyan mérettel, amely az előre kiszámított (kTableSize) HuffmanCode kódok tömbjéből származik. A color_cache_bits érték határozza meg, hogy melyik méretet használja. A kTableSize tömb csak a 8 bites első szintű, 8 bites, első szintű táblakeresésekhez, de a második szintű táblakeresésekhez nem. A libwebp azionban legfeljebb 15 bites kódokat (MAX_ALLOWED_CODE_LENGTH) fogad. Amikor a BuildHuffmanTable() megpróbálja kitölteni a második szintű táblákat, előfordulhat, hogy korlátokon kívüli adatokat írhat. Az OOB írás az alulméretezett (ReplicateValue) tömbbe történik.
A sérülékenység, amely egy rosszindulatú WebP-kép megnyitásának hatására puffer túlcsorduláshoz vezethet a tartalomfeldolgozásban. Tudomásunk van arról, hogy ezt a problémát más termékekkel szemben már aktívan ki is használják a támadok – így a mielőbbi frissítés javasolt…
Napvilágot látott egy új CVE-2023-5217 azonosítójú sérülékenység is, amely egy rosszindulatú, a támadó által ellenőrzött VP8 médiafolyam speciális kezelése a tartalomfeldolgozásban puffer túlcsorduláshoz vezethet. Tudomásunk van arról, hogy ezt a problémát más termékekben is kihasználják.Tudomásunk van arról, hogy ezt a problémát más termékekkel szemben már aktívan ki is használják a támadok – így itt is a mielőbbi frissítés javasolt…
Ezek a frissítések a Mozilla oldaláról a következő termékeket érintik:
- Firefox 118.0.1
- Firefox ESR 115.3.1
- Firefox Focus for Android 118.1
- Firefox for Android 118.1
És természetesen további termékek is érintettek... Ha nem is olyan szépes az érintett alkalmazások listája, mint a WebP esetében, azért VP8 streamet is sok minden le tud játszani - böngészők, videószerkesztők, képnézegetők.
Részletekeről itt lehet többet megtuni:
- Bug https://www.cve.org/CVERecord?id=CVE-2023-5217
- Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1855550
- Bug https://bugs.chromium.org/p/chromium/issues/detail?id=1486441
A VPx esetében is érdemes a WebP-nek megfelelő alkalmazásokat ellenőrizni, mert az akkoriaknak megfelelően, a frissítendő alkalmazások köre szintén igen széles, a webböngészőktől kezdve, a képszerkesztő és irodai csomagokon át, az operációs rendszerig. A probléma tehát önmagában nem a Chrome vagy akár a Chromium részéről van, hanem a libwebp programkönyvtárban, amelyet a Chromium és számos más projekt is használ. A könyvtárat a WebM Project gondozza, amely a Google és számos más vállalat közös erőfeszítése. A Firefox és a LibreOffice is (amely a hibát a a LibreOffice 7.6.2 és 7.5.7 verziójában javítja) például szintén a libwebp-t használja, és ez a sebezhetőség érinti ennek megfelelően a Firefox, a Firefox ESR és a Thunderbird termékeket is – akárcsak a többi ismertebb Chromium alapú grafikus böngészőt is (Edge, Brave, Opera), illetve a TOR böngészőt is. Számos operációs rendszer is érintett (hiszen a legtöbb Linux terjesztés [Debian, Suse, Fedora] is, és az Android is szállítja ezt a programkönyvtárat), továbbá a Electron és a Flutter alapú appok, a Visual Studio Code IDE, a Signal üzenetküldő, a Slack üzenetküldő, a Teams és a Telegram üzenetküldős is. Továbbá a Gimp, Inkscape, Godot, FFMPEG, GThumb, Darktable, Mapnik, és a WebKit alapú böngészőket is érinti a hibajavítás. Továbbá az Apple termékek esetében is hasonló hibákat javítottak (CVE-2023-41064 és CVE-2023-41061).
A fejlesztők libwebp esetében a hibát az 1.3.2-es verzióban javították, így érdemes ezt a javított verziót keresni, telepíteni.
További részleteket a Képlékeny biztonság: frissítsd a böngésződet, a képszerkesztődet, a rendszeredet! című cikkben is írtunk már.