Örömmel mutatunk be egy technikai elemző blogsorozatot, amely a különböző közös sebezhetőségekre és kitettségekre (CVE-k) összpontosít, amelyeket fejlett fenyegetés-felismerő technológiáinkkal azonosítottunk és orvosoltunk.Minden kutatást a 2023 szeptemberében induló OPSWAT Cybersecurity Fellowship programban részt vevő végzős hallgatók végeznek.
Ebben a blogban a Foxit PDF Reader CVE- 2020-14425 sebezhetőségét ismertetjük, és azt, hogy a szervezetek hogyan védekezhetnek a kihasználás ellen.
Foxit PDF olvasó
A Foxit PDF Reader a Foxit Software által kifejlesztett PDF-eszköz, amely számos funkciót kínál PDF-dokumentumok létrehozásához, megtekintéséhez, szerkesztéséhez és digitális aláírásához. A Foxit Reader ingyenes verziója nagy népszerűségnek örvend, és több mint 700 millió felhasználó használja.
Képességeinek és rugalmasságának növelése érdekében a Foxit PDF Reader támogatja a JavaScript-bővítményeket, így a felhasználóknak testreszabási lehetőségeket kínál, ez azonban potenciális biztonsági kockázatot is jelent, és a támadók célpontjává teszi a szoftvert.
14425
A Foxit PDF Reader 10.0 verzió előtti verziójában található sebezhetőség lehetővé teszi a támadók számára, hogy távoli kódot hajtsanak végre az áldozat eszközén, ha egy speciálisan kialakított PDF fájlt nyitnak meg. A sebezhetőség az app.opencPDFWebPage JavaScript funkció biztonsági gyengesége miatt lépett fel. Ha a Foxit Reader úgy van beállítva, hogy az alapértelmezett böngészőt használja a PDF-fájlba beágyazott URL-címek megnyitásához, akkor a futtatható fájlban beágyazott rosszindulatú kód biztonsági figyelmeztető párbeszéd kiváltása nélkül futtatható.
A CVE kihasználásával készített PDF-fájlok e-mailes adathalász kampányokon vagy rosszindulatú beágyazott linkeken keresztül terjeszthetők. Ha a felhasználó a sebezhető Foxit Reader verzióval nyitja meg a veszélyeztetett PDF-fájlt, a támadó távoli kódfuttatással irányítást szerezhet az áldozat eszköze felett.
CVE-2020-14425 Elemzés
A PDF-fájlok szervezése fa alapú struktúrát használ, amely egy fejlécből, egy törzsrészből, egy kereszthivatkozási táblázatból és egy utótagból áll.
- A fejléc %PDF-1.x-vel kezdődik, ami a PDF formátum verzióját jelzi. Jelenleg a formátum verziója 1.0 és 1.7 között mozog. A fejlécrész tartalmazza a dokumentum metaadatait is, például a szerzőt, a létrehozás dátumát és egyéb fontos információkat.
- A törzs a PDF-fájl teljes tartalmát tartalmazza, amely olyan objektumokból áll, mint az oldalak, szövegfolyamok, betűtípusok, űrlapok, JavaScript-kód és egyéb elemek.
- A kereszthivatkozási táblázat (Xref-tábla) tartalmazza a PDF-fájlban lévő összes objektum hivatkozását és bájteltolását. Ez lehetővé teszi az objektumok gyors elérését anélkül, hogy a teljes fájlt el kellene olvasni.
- Az utánfutó további, az xref-tábla megtalálásához szükséges információkat tárol, például az xref-tábla bejegyzéseinek számát és az xref-tábla elejére mutató mutatót.
Mivel a test tartalmazza a PDF-fájlok érzékeny objektumait, a támadások gyakran arra irányulnak, hogy rosszindulatú kódot juttassanak be ebbe az összetevőbe.
A PDF-fájlok a támadók célpontjává váltak, mivel mindenütt jelen vannak. Mivel a PDF-fájlok JavaScript-kódot tartalmazhatnak, a böngésző által megnyitva különböző támadások végrehajtására használhatók, például szolgáltatásmegtagadás (DoS), nyílt átirányítás (Open Redirect) vagy Cross-Site Scripting (XSS).
A támadók emellett olyan kihasználható technikákat is alkalmazhatnak, mint a Use After Free (UAF) és a Buffer Overflow (BoF). Kihasználhatják a szoftverhiba kezelését is, hogy távoli kódvégrehajtási (RCE) támadást hajtsanak végre az áldozat rendszerén. Ennek eredményeként egy PDF-fájl zsarolóprogramot hordozhat, amely titkosítja a gépen lévő adatokat, és jelentős váltságdíjat követel a helyreállításért, vagy a támadók teljes irányítást szerezhetnek az áldozat gépe felett.
A Foxit Readerben egy weboldal URL beágyazásakor a felhasználóknak két lehetőségük van a megtekintésre: a weboldal megjelenítése a Foxit Readerben vagy a felhasználó eszközének alapértelmezett böngészőjével. Az alapértelmezett konfigurációban a Foxit Reader belsőleg éri el a beágyazott weboldalt. A PDF-tartalmon belül a Foxit Reader a weblap megnyitásának kéréséhez az OpencPDFWebPage funkciót használja, amely egy JavaScript API funkció, amely a PDF-be ágyazott weblap URL-jének megnyitását kezdeményezi.
Azonban a API oldalon létezik egy nem megfelelő bemeneti érvényesítéssel kapcsolatos sebezhetőség, amely lehetővé teszi a támadók számára, hogy helyi fájl elérési útvonalat adjanak meg az opencPDFWebPage függvényben. Ennek következtében a függvény megnyithatja a rosszindulatú fájlt a csatolt elérési úttal, és futtathatja ezt a futtatható fájlt. Ez a hiba lehetővé teszi a támadók számára, hogy elindítsák az áldozat gépén tárolt hasznos terhet, és távoli kódfuttatáshoz jussanak.
Az a lehetőség, hogy a weboldalt a Foxit Reader programban nyissa meg, ami az IE 10 vagy magasabb verzióhoz szükséges, egy figyelmeztető párbeszédet indít el a kihasználási kísérlet során, míg ha a lehetőség az alapértelmezett böngésző használatára van beállítva, akkor a biztonsági figyelmeztetés kikerülhető.
Sebezhetőség kihasználása
Az azonosított sebezhetőséggel a potenciális támadási vektor egy adathalász támadás, amely a PDF-fájlt használja töltőként egy rejtett csatolt hasznos teher végrehajtásához. Ebben a forgatókönyvben a fenyegető egy PDF-fájlt és egy rejtett futtatható fájlt tartalmazó ZIP-fájlt küld az áldozatnak azzal a szándékkal, hogy megtévessze a dokumentum megnyitására. A Foxit Readerben található CVE ezután lehetővé teszi, hogy a beágyazott JavaScript-kód futtassa a rejtett futtatható fájlt, és ezzel fordított héjkapcsolatot hozzon létre a támadó gépével.
A támadó a PDF-fájlba történő JavaScript-kód bejuttatásához közvetlenül módosíthatja a PDF-tartalomfájlt, vagy olyan eszközöket használhat, mint a Foxit Phantom PDF. A rosszindulatú kód meghatározza a rosszindulatú fájl elérési útvonalát, és az opencPDFWebPage függvény segítségével végrehajtja a káros kódot.
A rosszindulatú PDF-fájlok elkészítése után a támadó elrejti a futtatható fájlt, és a mappát ZIP-fájlba tömöríti. A vírusirtó programok biztonsági védelmének megkerülése érdekében a támadó jelszóval titkosíthatja a ZIP-fájlt, mielőtt elküldi az áldozatnak.
Ha az áldozat kinyeri és megnyitja a rosszindulatú PDF-fájlt a Foxit Reader sebezhető verziójával, a futtatható fájlba ágyazott rosszindulatú kód végrehajtásra kerül, lehetővé téve a támadó számára, hogy egy fordított héjon keresztül veszélyeztesse az áldozat eszközét.
Helyreállítás
A Multiscanning technológia a Metadefender Core felismeri a jelszavakkal tömörített rosszindulatú fájlokat, lehetővé téve a rendszergazdák számára, hogy pontosan azonosítsák ezeket a fenyegetéseket. A több mint 30 vírusirtó motor együttes integrációjával a rosszindulatú programok felismerési aránya meghaladja a 99,99%-ot. Továbbá a Deep CDR (Content Disarm and Reconstruction) beágyazott technológiával a Metadefender Core hatékonyan képes eltávolítani a potenciálisan rosszindulatú JavaScript kódot, és újratermeli a fertőtlenített, biztonságosan használható fájlokat.
A MetaDefender Endpoint emellett képes felismerni a sebezhető alkalmazásverziókat és automatikusan frissíteni a legújabb javítófoltokra, így fokozva a végpontok biztonságát a jövőbeni potenciális fenyegetésekkel szemben.