Race mamiriro muLinux kernel muunganidzi wemarara izvo zvinogona kutungamira kune rombo rekuwedzera

Jann Horn kubva kuchikwata cheGoogle Project Zero, akamboona kusazvibata kweSpecter uye Meltdown, akaburitsa nzira yekushandisa njodzi (CVE-2021-4083) muLinux kernel muunganidzi wemarara. Kusagadzikana kunokonzerwa nemamiriro emujaho paunenge uchichenesa faira zvinotsanangura pane unix sockets uye zvinogona kubvumira mushandisi wemuno asina rusarura kuti aite kodhi yavo padanho rekernel.

Dambudziko rinonakidza nekuti hwindo renguva iyo nhangemutange inoitika yaifungidzirwa kuve idiki kuti iite zviitiko chaizvo, asi munyori wechidzidzo ichi airatidza kuti kunyangwe kusava nechokwadi kwakadaro kwekutanga kunogona kuve honze yekurwiswa chaiko kana musiki wekushandisa aine unyanzvi hunodiwa uye nguva. Yann Horn akaratidza sei, nerubatsiro rwe filigree manipulations, unogona kuderedza mamiriro emujaho anoitika kana uchidaidza yekuvhara () uye fget () mabasa panguva imwe chete mukunyatso shandiswa-mushure-kusununguka kwekusununguka uye kuwana mukana kune yakatosunungurwa data. chimiro mukati me kernel.

Mamiriro emujaho anoitika panguva yekuvhara descriptor yefaira uchifona close () uye fget () panguva imwe chete. Kudanwa kwekuvhara () kunogona kuitika fget () isati yaitwa, izvo zvichavhiringidza muunganidzi wemarara nokuti, maererano nerefcount, chimiro chefaira hachizove nechekunze kwezvinyorwa, asi chicharamba chakabatanidzwa kune faira descriptor, i.e. Muunganidzi wemarara achafunga kuti ane mukana wakasarudzika kune chimiro, asi chokwadi, kwenguva pfupi, iyo yasara yekupinda mufaira yekutsanangura tafura icharamba ichinongedzera kune chimiro chasunungurwa.

Kuwedzera mukana wekupinda munhangemutange, matipi akati wandei akashandiswa, izvo zvakaita kuti zvikwanise kuwedzera mukana wekubudirira kwekushandisa kusvika pa30% pakuunza system-chaiyo optimizations. Semuenzaniso, kuwedzera nguva yekuwana chimiro chine faira descriptors nemazana akati wandei nanoseconds, data yakadzingwa kubva muprocessor cache nekurasa cache nebasa pane imwe CPU musimboti, izvo zvakaita kuti zvikwanise kudzoreredza chimiro kubva mundangariro kwete kubva. iyo inokurumidza CPU cache.

Chechipiri chakakosha chaive kushandiswa kwekuvhiringidza kwakagadzirwa nehardware timer kuti iwedzere nguva yemujaho. Iyo nguva yakasarudzwa kuitira kuti anovhiringidza anobata moto kana mamiriro emujaho aitika uye kukanganisa kuitiswa kwekodhi kwenguva yakati. Kuti uenderere mberi kunonoka kudzoka kwekutonga, anenge zviuru makumi mashanu ekupinda mumutsara wekumirira akagadzirwa uchishandisa epoll, izvo zvaida kutsvaga kuburikidza neanovhiringidza anobata.

Maitiro ekushandisa kusazvibata akaburitswa mushure memazuva makumi mapfumbamwe asina kuburitsa nguva. Dambudziko rinoonekwa kubva kernel 90 uye rakagadziriswa mukutanga kwaZvita. Iyo gadziriso yakaverengerwa mukernel 2.6.32 uye zvakare yakaendeswa kumapazi eLTS ekernel uye kernel mapakeji akapihwa mukugovera. Izvo zvakakosha kuti kusazvibata kwakaonekwa panguva yekuongororwa kwedambudziko rakafanana CVE-5.16-2021, iro rinozviratidza mumuunganidzi wemarara kana uchigadzira mureza weMSG_PEEK.

Source: opennet.ru

Voeg