Uviedli vedci spoločnosti Cisco Talos Pred pár dňami zraniteľnosť v jadre systému Linux, ktorú je možné zneužiť na odcudzenie údajov a tiež slúžia ako prostriedok na eskaláciu privilégií a kompromitáciu systému.
Zraniteľnosť popísaná ako „zraniteľnosť pri zverejňovaní informácií čo by útočníkovi umožnilo vidieť pamäť zásobníka jadra. '
CVE-2020-28588 je zraniteľnosť, ktorá objavené vo funkcii proc / pid / syscall zariadení ARM 32-bitové zariadenia, na ktorých je spustený operačný systém. Podľa spoločnosti Cisco Talos bol problém prvýkrát objavený na zariadení so systémom Azure Sphere.
Vo funkcii / proc / pid / syscall v systéme Linux Kernel 5.1 Stable a 5.4.66 existuje chyba zabezpečenia. Konkrétnejšie, tento problém bol uvedený vo v5.1-rc4 (zaväzuje 631b7abacd02b88f4b0795c08b54ad4fc3e7c7c0) a stále je vo v5.10-rc4, takže bude pravdepodobne ovplyvnená všetky prechodné verzie. Útočník môže túto chybu zabezpečenia aktivovať pomocou príkazu / proc / pid / syscall, čo spôsobí, že jadro stratí obsah pamäte.
Proc je špeciálny pseudo-súborový systém na unixových operačných systémoch, ktoré slúži na dynamický prístup k údajom procesu nájdené v jadre. Predstavuje informácie o procese a ďalšie systémové informácie v hierarchickej štruktúre podobnej súboru.
Napríklad obsahuje podadresáre / proc / [pid], z ktorých každý obsahuje súbory a podadresáre, ktoré poskytujú informácie o konkrétnych procesoch a sú čitateľné pomocou zodpovedajúceho ID procesu. V prípade súboru „syscall“ ide o legitímny súbor operačného systému Linux, ktorý obsahuje protokoly systémových volaní použitých jadrom.
Za spoločnosť lHackeri by mohli chybu využiť a získať prístup k súboru operačného systému a syscall prostredníctvom systému používaného na interakciu medzi dátovými štruktúrami jadra, Proc. Položka syscall procfs môže byť zneužitá, ak hackeri vydajú príkazy na generovanie 24 bajtov neinicializovanej haldy pamäte, čo vedie k obídeniu náhodného rozloženia adresného priestoru jadra (KASLR).
Pri pohľade na túto konkrétnu funkciu vyzerá všetko v poriadku, ale treba poznamenať, že
args
odovzdaný parameter pochádza zproc_pid_syscall
funkcia a ako taká je vlastne typu__u64 args
. V systéme ARM prevádza definícia funkcie veľkosť súboruarg
pole v štvorbajtových prvkoch od XNUMX bajtov (odunsigned long
v ARM sú to 4 bajty), z čoho vyplýva, že vmemcpy
je skopírovaný do 20 bajtov (plus 4 preargs[0]
).Podobne pre i386, kde
unsigned long
sú to iba 4 bajtyargs
zapíše sa prvých 24 bajtov argumentu a zvyšných 24 bajtov sa ponechá nedotknutých.V obidvoch prípadoch, ak sa pozrieme späť na
proc_pid_syscall
funkcia.Zatiaľ čo v 32-bitových ARM a i386 kopírujeme iba 24 bajtov do
args
pole, formátovací reťazec skončí čítaním 48 bajtov súboruargs
matica, pretože%llx
Reťazec formátu je v 32-bitových a 64-bitových systémoch osem bajtov. Takže 24 bajtov neinicializovanej haldy pamäte nakoniec dostane výstup, čo by mohlo viesť k bypassu KASLR.
Vedci to tvrdia tento útok je „nemožné detekovať na diaľku v sieti“ pretože číta legitímny súbor z operačného systému Linux. „Ak sa hacker použije správne, mohol by tento únik informácií využiť na úspešné využitie ďalších neopravených zraniteľností systému Linux,“ hovorí Cisco.
V tejto súvislosti spoločnosť Google nedávno uviedla:
„Chyby v zabezpečení pamäte často ohrozujú bezpečnosť zariadení, najmä aplikácií a operačných systémov. Napríklad v mobilnom operačnom systéme Android podporovanom aj jadrom Linuxu spoločnosť Google tvrdí, že zistila, že viac ako polovica bezpečnostných chýb riešených v roku 2019 bola výsledkom chýb zabezpečenia pamäte.
V neposlednom rade Odvtedy sa odporúča aktualizovať verzie 5.10-rc4, 5.4.66, 5.9.8 jadra Linuxu Táto chyba bola testovaná a potvrdená, aby bolo možné zneužiť nasledujúce verzie jadra Linuxu.
Konečne ak máte záujem dozvedieť sa o tom viac O príspevku sa môžete dozvedieť podrobnosti v nasledujúci odkaz.