Check Point forskere for nylig besluttet at revidere Linux-kernen, og mere specifikt de kiggede ind bilister forsøger at rulle deres egen anvendelse af mmap() funktion.
CVE-2018-8781 Officiel Beskrivelse:
Den udl_fb_mmap funktion i drivere / GPU / drm / udl / udl_fb.c på Linux kerne version 3.4 og til og med 4.15 har et heltal-overflow sårbarhed tillader lokale brugere med adgang til udldrmfb føreren til at opnå fuld læse og skrive tilladelser på kerne fysiske sider, hvilket resulterer i en kode i kernel space.
Hvordan Var CVE-2018-8781 Opdaget?
Ideen om re-implementering kernel funktioner vil sandsynligvis føre til fejl på grund af det faktum, at mindre afdelingens ansatte i organisationer gennemgå deres kode og løse sikkerhedsproblemer som en del af deres proces, forskerne forklarede.
Gennemgang dette, de afdækket og videregives en række spørgsmål og en specifik fejl, der er i virkeligheden en otte-årig sårbarhed i en driver. Fejlen kan bruges til eskalerende privilegier i kernel versioner 3.4 og til og med 4.15.
Denne særlige fejl er identificeret som CVE-2018-8781, og det påvirker den interne mmap() funktion defineret i fb_helper fil operationer af UDL føreren af DisplayLink:
Den video / drm modul i kernen definerer en standard mmap() wrapper, der kalder det virkelige mmap() handleren defineret af den specifikke driver. I vores tilfælde sårbarheden er i den interne mmap() defineret i fb_helper fil operationer af ”udl” føreren af ”DisplayLink”.
Dette er et klassisk eksempel på en Integer-Overflow, Check Point afklaret. Hvad er et heltal overløb? Et heltalsoverløb finder sted, når en aritmetisk operation forsøger at skabe en numerisk værdi, der er uden for området, der kan repræsenteres med et givet antal bit.
Da offset er usigneret programmøren sprunget kontrol #1 og gik direkte til at kontrollere #2. Men, beregningen ”offset + størrelse”kunne wrap-around til en lav værdi, tillader os at omgå kontrollen mens du stadig bruger en ulovlig ”offset” værdi.
Hvordan blev CVE-2018-8781 verificeret? For at gøre dette, forskerne brugte en Ubuntu 64-bit virtuel maskine, og uploadet en simuleret sårbar chauffør. På hver test førerens mmap() handleren indeholdt implementeringen, de har til formål at kontrollere. Yderligere analyse afslørede, at brugeren kan læse og skrive fra / til de kortlagte sider, tillader en angriber at udløse kode i kernel space.
Flere detaljer om CVE-2018-8781 og hvordan man kan løse det er tilgængelig.