Cisco Talos-forskere løslatt Noen dager siden et sårbarhet i Linux-kjernen som kan utnyttes til å stjele data og fungerer også som et middel for å eskalere privilegier og kompromittere systemet.
Sårbarhet beskrevet som en "sårbarhet for avsløring av informasjon som kan tillate en angriper å se minnet til kjernestakken. '
CVE-2020-28588 er sårbarheten som oppdaget i ARM-enheter proc / pid / syscall funksjonalitet 32-biters enheter som kjører operativsystemet. Ifølge Cisco Talos ble problemet først oppdaget på en enhet som kjører Azure Sphere.
Det foreligger et sikkerhetsproblem i / proc / pid / syscall-funksjonaliteten til Linux Kernel 5.1 Stable og 5.4.66. Mer spesifikt har dette problemet blitt introdusert i v5.1-rc4 (forplikter 631b7abacd02b88f4b0795c08b54ad4fc3e7c7c0) og er fortsatt til stede i v5.10-rc4, så alle mellomversjoner vil sannsynligvis bli berørt. En angriper kan lese / proc / pid / syscall for å aktivere dette sikkerhetsproblemet, slik at kjernen mister minneinnhold.
Proc er et spesielt pseudofilsystem på Unix-lignende operativsystemer som brukes til dynamisk tilgang til prosessdata funnet i kjernen. Presenterer prosessinformasjon og annen systeminformasjon i en hierarkisk, fillignende struktur.
For eksempel inneholder den underkataloger / proc / [pid], som hver inneholder filer og underkataloger som avslører informasjon om spesifikke prosesser, som kan leses ved å bruke den tilsvarende prosess-IDen. Når det gjelder "syscall" -filen, er det en legitim Linux-operativsystemfil som inneholder logger over systemanropene som kjernen bruker.
For selskapet, lHackere kunne utnytte feilen og få tilgang til operativsystemet og syscall-filen gjennom et system som brukes til å samhandle mellom kjernedatastrukturene, Proc. Syscall procfs-oppføringen kan utnyttes hvis hackere utsteder kommandoer for å generere 24 byte uinitialisert dyngminne, noe som fører til en forbikjøring av KASLR (kernel address space layout randomization).
Ser på denne spesifikke funksjonen, ser alt bra ut, men det er verdt å merke seg at
args
passert parameter kom fraproc_pid_syscall
funksjon og som sådan er faktisk av typen__u64 args
. I et ARM-system konverterer funksjonsdefinisjonen størrelsen påarg
array i fire-byte-elementer fra åtte byte (sidenunsigned long
i ARM er det 4 byte), noe som resulterer i at imemcpy
kopieres til 20 byte (pluss 4 forargs[0]
).Tilsvarende for i386, hvor
unsigned long
det er bare 4 byteargs
de første 24 byte av argumentet er skrevet, og etterlater de resterende 24 byte intakte.I begge tilfeller, hvis vi ser tilbake på
proc_pid_syscall
funksjon.Mens vi i 32-biters ARM og i386 bare kopierer 24 byte til
args
array, ender formatstrengen med å lese 48 byte avargs
matrise, siden%llx
Formatstrengen er åtte byte på 32-biters og 64-biters systemer. Så 24 byte med ikke-initialisert heapminne ender med å få utdata, noe som kan føre til en KASLR-bypass.
Forskerne uttaler det dette angrepet er "umulig å oppdage eksternt i et nettverk" fordi den leser fra en legitim Linux-operativsystemfil. "Hvis den brukes riktig, kan en hacker dra nytte av denne informasjonslekkasjen for å kunne utnytte andre ikke-oppdaterte Linux-sårbarheter," sier Cisco.
I denne forbindelse sa Google nylig:
“Minne sikkerhetsfeil truer ofte sikkerheten til enheter, spesielt applikasjoner og operativsystemer. For eksempel, i Android-mobiloperativsystemet som også støttes av Linux-kjernen, sier Google at de fant at mer enn halvparten av sikkerhetsproblemene som ble adressert i 2019 var resultatet av minnesikkerhetsfeil.
Sist men ikke minst Det anbefales å oppdatere versjoner 5.10-rc4, 5.4.66, 5.9.8 av Linux-kjernen, siden Dette sikkerhetsproblemet er testet og bekreftet for å kunne utnytte følgende versjoner av Linux-kjernen.
Endelig hvis du er interessert i å vite mer om det Om innlegget kan du sjekke detaljene i følgende lenke.