Kusagadzikana muLinux kernel iyo inobvumira kuverenga-chete mafaera kuve nehuori

Kusagadzikana kwaonekwa muLinux kernel (CVE-2022-0847) iyo inobvumira zviri mukati mecache peji kuti zvinyorwe kune chero mafaera, kusanganisira iwo ari mukuverenga-chete modhi, akavhurwa neO_RDONLY mureza, kana ari pamafaira masisitimu. yakaiswa mukuverenga-chete mode. Mune mazwi anoshanda, kusadzivirirwa kwacho kunogona kushandiswa kupinza kodhi mukuita zvekupokana kana huwori data mumafaira akavhurwa. Semuenzaniso, unogona kushandura zviri mukati memvumo_keys faira ye sshd maitiro. A prototype yekushandiswa iripo yekuyedza.

Dambudziko rave rakanzi Dirty Pipe, yakafanana neiyo yakakosha kusagadzikana Dirty COW yakaonekwa muna 2016. Zvinocherechedzwa kuti maererano nedanho rengozi, Dirty Pipe iri padanho rakafanana neDirty COW, asi iri nyore kushanda. Kusagadzikana kwakaonekwa panguva yekuongorora zvichemo nezve huwori hwenguva nenguva hwemafaira akatorwa pamusoro penetiweki muhurongwa hwekudhawunirodha akaomeswa zvinyorwa kubva kune log server (37 huori mumwedzi mitatu pane yakarodha system), gadziriro yacho yakashandisa splice () mashandiro. nemapombi asina mazita.

Kusagadzikana kunoratidzika kutanga neLinux kernel 5.8, yakaburitswa muna Nyamavhuvhu 2020, i.e. iripo muDebian 11, asi haikanganisi base kernel muUbuntu 20.04 LTS. Iyo RHEL 8.x uye openSUSE/SUSE 15 kernels pakutanga yakavakirwa pamapazi ekare, asi zvinogoneka kuti shanduko yakakonzera dambudziko yakadzoserwa mazviri (hapana chaiyo data parizvino). Unogona kuteedzera kuburitswa kwepakeji zvigadziriso mukugovera pamapeji aya: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Kugadziriswa kwekusagadzikana kwakarongwa mukuburitswa 5.16.11, 5.15.25 uye 5.10.102. Iyo gadziriso inosanganisirwa mu kernel inoshandiswa mu Android platform.

Kusagadzikana kunokonzerwa nekushaikwa kwekutanga kweiyo "buf-> mireza" kukosha mukodhi yemabasa copy_page_to_iter_pipe () uye push_pipe (), zvisinei nekuti ndangariro haina kucheneswa pakugovera chimiro uye panguva yekumwe manipulations ne. mapaipi asina mazita, kukosha kubva kune imwe kushanda. Uchishandisa chimiro ichi, mushandisi wemuno asina rusaruro anogona kuita chitarisiko chePIPE_BUF_FLAG_CAN_MERGE kukosha mumureza, izvo zvinokutendera kuti uronge kudhindwa kwedata mucache yepeji nekungonyora data nyowani kune imwe pombi yakanyatsogadzirirwa isina kudomwa zita.

Pakurwiswa, faira yainotarirwa inofanirwa kuverengeka, uye sezvo kodzero dzekuwana dzisingatariswe paunenge uchinyorera pombi, kutsiva mune cache peji kunogonawo kuitwa kune mafaera ari muzvikamu zvakaiswa kuverenga-chete (semuenzaniso, emafaira c CD- ROM). Mushure mekutsiva ruzivo mune cache peji, paunenge uchiverenga data kubva pafaira, maitiro acho haagamuchire iyo chaiyo data, asi yakatsiviwa data.

Kuvhiya kunouya pakugadzira chiteshi chisina kudomwa zita uye nekuchizadza nedata rakasarudzika kuitira kuti ive nechokwadi chekuti PIPE_BUF_FLAG_CAN_MERGE mureza waiswa mune zvese zvimiro zvemhete zvine chekuita nazvo. Tevere, iyo data inoverengwa kubva kuchiteshi, asi mureza unoramba wakaiswa mune ese mamiriro epiipi_buffer chimiro mupiipi_inode_info mhete zvimiro. Kufona ku splice () kunozoitwa kuti uverenge data kubva kune yakananga faira mupombi isina kudomwa zita, kutangira painoda kubvisa. Pakunyora data kune iyi pombi isina kudomwa zita, nekuda kwemureza wePIPE_BUF_FLAG_CAN_MERGE urikusetwa, data iri mucache yepeji inozonyorwa pamusoro pachinzvimbo chekugadzira chiitiko chitsva chepipe_buffer chimiro.

Source: opennet.ru

Voeg