So-leòntachd iomallach anns an kernel Linux a thachras nuair a bhios tu a’ cleachdadh protocol TIPC

Chaidh so-leòntachd (CVE-2022-0435) a chomharrachadh anns a’ mhodal kernel Linux a nì cinnteach gu bheil protocol lìonra TIPC (Conaltradh Eadar-phròiseas Transparent) ag obair, a dh’ fhaodadh a bhith comasach air còd a chuir gu bàs aig ìre kernel le bhith a’ cur lìonra a chaidh a dhealbhadh gu sònraichte paca. Chan eil a’ chùis a ’toirt buaidh ach air siostaman leis a’ mhodal kernel tipc.ko air a luchdachadh agus an stac TIPC air a rèiteachadh, a tha mar as trice air a chleachdadh ann an cruinneachaidhean agus nach eil air a chomasachadh gu bunaiteach air sgaoilidhean Linux neo-speisealta.

Thathas a’ toirt fa-near, nuair a bhios tu a’ togail an kernel anns a’ mhodh “CONFIG_FORTIFY_SRC = y” (air a chleachdadh ann an RHEL), a chuireas sgrùdaidhean crìochan a bharrachd ris a’ ghnìomh memcpy (), gu bheil an obrachadh cuingealaichte ri stad èiginn (na clisgeadh kernel). Ma thèid a chuir gu bàs às aonais sgrùdaidhean a bharrachd agus ma thèid fiosrachadh mu na tagaichean canary a chaidh a chleachdadh gus an stac a dhìon a leigeil ma sgaoil, faodar brath a ghabhail air an duilgheadas airson còd iomallach a chuir an gnìomh le còraichean kernel. Tha an luchd-rannsachaidh a dh’ ainmich an duilgheadas ag agairt gu bheil an dòigh brathaidh beag beag agus gun tèid fhoillseachadh às deidh cuir às gu farsaing den so-leòntachd ann an sgaoilidhean.

Tha an so-leòntachd air adhbhrachadh le tar-shruth stac a thachras nuair a bhios tu a’ giullachd phasganan, luach an raoin leis an àireamh de nodan ball fearainn anns a bheil nas àirde na 64. Gus paramadairean nòd a stòradh anns a’ mhodal tipc.ko, sreath stèidhichte “buill u32[64 ]” air a chleachdadh, ach ann a bhith a’ giullachd na tha air a shònrachadh sa phacaid Chan eil an àireamh nód a’ sgrùdadh luach “member_cnt”, a leigeas le luachan nas àirde na 64 a chleachdadh airson ath-sgrìobhadh fo smachd dàta anns an raon cuimhne an ath rud dhan structar "dom_bef" air a' chruaich.

Chaidh am biast a lean gu so-leòntachd a thoirt a-steach air 15 Ògmhios, 2016 agus chaidh a thoirt a-steach don kernel Linux 4.8. Chaidh dèiligeadh ris an so-leòntachd ann am fiosan kernel Linux 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266, agus 4.9.301. Ann an kernels a’ mhòr-chuid de sgaoilidhean tha an duilgheadas fhathast gun fhuasgladh: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

Chaidh am protocol TIPC a leasachadh an toiseach le Ericsson, air a dhealbhadh gus conaltradh eadar-phròiseas a chuir air dòigh ann am brabhsair agus tha e air a ghnìomhachadh sa mhòr-chuid air nodan brabhsair. Faodaidh TIPC obrachadh thairis air Ethernet no UDP (port lìonra 6118). Nuair a bhios tu ag obair thairis air Ethernet, faodar an ionnsaigh a dhèanamh bhon lìonra ionadail, agus nuair a bhios tu a’ cleachdadh UDP, bhon lìonra chruinneil mura h-eil am port còmhdaichte le balla-teine. Faodaidh an ionnsaigh cuideachd a bhith air a dhèanamh le neach-cleachdaidh ionadail gun bhuannachd den aoigh. Gus TIPC a chuir an gnìomh, feumaidh tu am modal kernel tipc.ko a luchdachadh sìos agus an ceangal ris an eadar-aghaidh lìonra a rèiteachadh a ’cleachdadh netlink no an goireas tipc.

Source: fosgailtenet.ru

Cuir beachd ann