So-leòntachd VFS kernel Linux a’ ceadachadh àrdachadh sochair

Chaidh so-leòntachd (CVE-2022-0185) a chomharrachadh anns an API Co-theacsa Filesystem a thug an kernel Linux seachad a dh’ fhaodadh leigeil le neach-cleachdaidh ionadail sochairean bunaiteach fhaighinn air an t-siostam. Tha an neach-rannsachaidh a chomharraich an duilgheadas air demo fhoillseachadh de chleachdadh a leigeas le còd a ruith mar fhreumh air Ubuntu 20.04 anns an rèiteachadh bunaiteach. Thathas an dùil an còd brath fhoillseachadh air GitHub taobh a-staigh seachdain, às deidh do sgaoilidhean ùrachadh a leigeil ma sgaoil a ’suidheachadh an so-leòntachd.

Tha an so-leòntachd ann an gnìomh legacy_parse_param () ann an VFS agus tha e air adhbhrachadh le dìth dearbhaidh ceart air a’ mheud as motha de pharamadairean a chaidh a thoirt seachad air siostaman faidhle nach eil a’ toirt taic don Filesystem Context API. Ma thèid thu seachad air paramadair ro mhòr, faodaidh tu tar-shruth a dhèanamh den chaochladair iomlan a thathar a’ cleachdadh gus meud an dàta a thathar a’ sgrìobhadh obrachadh a-mach - tha sgrùdadh thar-shruth bufair aig a’ chòd “ma tha (len> PAGE_SIZE - 2 - meud)", a nì sin gun a bhith ag obair ma tha luach meud nas àirde na 4094 mar thoradh air airson thar-shruth iomlan tron ​​​​chrìoch ìosal (fo-shruth iomlan, nuair a thilgeas tu 4096 - 2 - 4095 gu int gun ainm, gheibh thu 2147483648).

Tha a’ mhearachd seo a’ ceadachadh, nuair a gheibh thu cothrom air ìomhaigh FS a chaidh a dhealbhadh gu sònraichte, gum bi bufair a’ dol thairis air agus a’ sgrìobhadh thairis air an dàta kernel às deidh an raon cuimhne ainmichte. Gus brath a ghabhail air so-leòntachd, tha feum air còraichean CAP_SYS_ADMIN, i.e. ùghdarras riaghlaidh. Is e an duilgheadas a th’ ann gum faigh neach-cleachdaidh gun bhuannachd ceadan mar sin ann an soitheach iomallach ma tha taic airson àiteachan ainmean cleachdaiche air a chomasachadh san t-siostam. Mar eisimpleir, tha àiteachan ainmean luchd-cleachdaidh air an comasachadh gu bunaiteach air Ubuntu agus Fedora, ach chan eil iad air an comasachadh air Debian agus RHEL (mura h-eil iad a’ cleachdadh àrd-ùrlaran aonaranachd container).

Tha an duilgheadas air a bhith a’ nochdadh bhon kernel Linux 5.1 agus chaidh a shocrachadh ann an ùrachaidhean an-dè 5.16.2, 5.15.16, 5.10.93, 5.4.173. Chaidh ùrachaidhean pacaid so-leòntachd a leigeil ma sgaoil mu thràth airson RHEL, Debian, Fedora, Ubuntu. Chan eil an suidheachadh ri fhaighinn fhathast air Arch Linux, Gentoo, SUSE agus openSUSE. Mar fhuasgladh tèarainteachd airson siostaman nach eil a’ cleachdadh aonaranachd shoithichean, is urrainn dhut luach sysctl “user.max_user_namespaces” a shuidheachadh gu 0: mac-talla “user.max_user_namespaces=0” > /etc/sysctl.d/userns.conf # sysctl -p/ etc/ sysctl.d/userns.conf

Source: fosgailtenet.ru

Cuir beachd ann