Objavljeni istraživači Cisco Talosa Prije nekoliko dana ranjivost u Linux jezgri koja se može iskoristiti za krađu podataka a također služe kao sredstvo za eskalaciju privilegija i kompromitiranje sustava.
Ranjivost opisan kao 'ranjivost otkrivanja podataka što bi napadaču moglo omogućiti da vidi memoriju stoga jezgre. '
CVE-2020-28588 je ranjivost koja otkriven u ARM uređajima proc / pid / syscall funkcionalnost 32-bitni uređaji koji pokreću operativni sustav. Prema Cisco Talosu, problem je prvi put otkriven na uređaju koji pokreće Azure Sphere.
Ranjivost otkrivanja podataka postoji u / proc / pid / syscall funkcionalnosti Linux Kernel 5.1 Stable i 5.4.66. Preciznije, ovo je pitanje uvedeno u v5.1-rc4 (izvršava 631b7abacd02b88f4b0795c08b54ad4fc3e7c7c0) i još uvijek je prisutno u v5.10-rc4, pa će vjerojatno biti pogođene sve srednje verzije. Napadač može čitati / proc / pid / syscall da aktivira ovu ranjivost, uzrokujući da jezgra gubi sadržaj memorije.
Proc je poseban pseudo-datotečni sustav na operacijskim sustavima nalik Unixu koji koristi se za dinamički pristup procesnim podacima pronađena u jezgri. Prikazuje podatke o procesu i ostale informacije o sustavu u hijerarhijskoj strukturi nalik datotekama.
Na primjer, sadrži poddirektorijume / proc / [pid], od kojih svaki sadrži datoteke i poddirektorije koji izlažu informacije o određenim procesima, čitljive pomoću odgovarajućeg ID-a procesa. U slučaju datoteke "syscall", to je legitimna datoteka operativnog sustava Linux koja sadrži zapise sistemskih poziva koje koristi jezgra.
Za tvrtku, lHakeri bi mogli iskoristiti tu manu i pristupiti operativnom sustavu i datoteci syscall kroz sustav koji se koristi za interakciju između struktura podataka jezgre, Proc. Unos syscall procfs mogao bi se iskoristiti ako hakeri izdaju naredbe za generiranje 24 bajta neinicijalizirane hrpe memorije, što dovodi do zaobilaženja slučajnog rasporeda rasporeda adresa jezgre (KASLR).
Gledajući ovu specifičnu funkciju, sve izgleda u redu, ali vrijedi napomenuti da
args
proslijeđeni parametar potječe izproc_pid_syscall
funkcija i kao takav zapravo je tipa__u64 args
. U ARM sustavu, definicija funkcije pretvara veličinuarg
niz u četverobajtnim elementima od osam bajtova (jerunsigned long
u ARM-u je 4 bajta), što rezultira time damemcpy
se kopira u 20 bajtova (plus 4 forargs[0]
).Slično tome, za i386, gdje
unsigned long
to je samo 4 bajtaargs
napisana su prva 24 bajta argumenta, a preostala 24 bajta ostaju netaknuta.U oba slučaja, ako se osvrnemo na
proc_pid_syscall
funkcija.Dok u 32-bitni ARM i i386 kopiramo samo 24 bajta u
args
polje, niz formata završava s čitanjem 48 bajtovaargs
matrica, budući da%llx
Niz formata je osam bajtova na 32-bitnim i 64-bitnim sustavima. Dakle, 24 bajta neinicijalizirane hrpe memorije na kraju dobivaju izlaz, što bi moglo dovesti do zaobilaženja KASLR-a.
Istraživači to tvrde ovaj napad je "nemoguće otkriti daljinski na mreži" jer čita legitimnu datoteku iz operativnog sustava Linux. "Ako se pravilno koristi, haker bi mogao iskoristiti to curenje informacija za uspješno iskorištavanje drugih nekrpanih Linux ranjivosti", kaže Cisco.
S tim u vezi, Google je nedavno rekao:
“Propusti u sigurnosti memorije često ugrožavaju sigurnost uređaja, posebno aplikacija i operativnih sustava. Na primjer, u mobilnom operacijskom sustavu Android koji također podržava jezgra Linux, Google kaže da je otkrio da je više od polovice sigurnosnih ranjivosti riješenih u 2019. godini rezultat sigurnosnih pogrešaka u memoriji.
Posljednje, ali ne najmanje važno Preporučuje se ažuriranje inačica 5.10-rc4, 5.4.66, 5.9.8 Linux kernela, budući da Ova je ranjivost testirana i potvrđeno je da može iskoristiti sljedeće verzije Linux jezgre.
Konačno ako vas zanima više o tome O objavi pojedinosti možete provjeriti u sljedeći link.