Ang isang kahinaan sa CAN BCM network protocol ay pinapayagan ang pagtaas ng pribilehiyo sa linux kernel 

Kahapon ang impormasyon ay inilabas tungkol sa isang kahinaan sa kernel ng Linux at kung saan naka-catalog na bilang CVE-2021-3609. Ang kahinaan na ito Pinapayagan ang isang lokal na gumagamit na itaas ang kanilang mga pribilehiyo sa system dahil sa isang kundisyon ng lahi sa pagpapatupad ng CAN BCM protocol at ipinakita sa mga bersyon 2.6.25 hanggang 5.13-rc6 ng Linux kernel.

Sinasamantala ng hatol sapagkat ang Hinahayaan ka ng CAN BCM protocol na magrehistro ng iyong sariling manager ng mensahe ng network ng area ng controller (CAN) at ikonekta ito sa isang tukoy na socket ng network. Kapag dumating ang isang papasok na mensahe, tinawag ang pagpapaandar bcm_rx_handler () maaaring samantalahin ng isang umaatake ang isang kundisyon ng lahi at pilitin ang network socket na isara habang isinasagawa bcm_rx_handler ().

Dumarating ang problema kapag nakasara ang socket at ang pagpapaandar ay tinawag bcm_release (), kung saan ang memorya na inilalaan para sa mga istraktura ay napalaya bcm_op at bcm_sock, na patuloy na ginagamit sa handler bcm_rx_handler () na kung saan ay tumatakbo pa rin, sa gayon ang isang sitwasyon na arises na humahantong sa pag-access sa isang napalaya na bloke ng memorya (paggamit-pagkatapos-libre).

Ito ay isang anunsyo ng kamakailang naiulat na bug (CVE-2021-3609) sa CAN BCM network protocol sa Linux kernel mula sa bersyon 2.6.25 hanggang sa mainline 5.13-rc6.
Ang kahinaan ay isang kondisyon ng lahi sa net / can / bcm.c na nagpapahintulot sa pag-root ng pribilehiyo na mag-ugat. Ang problema ay paunang naiulat ng syzbot at Norbert Slusarek ay pinatunayan na mapagsamantalahan.

Ang pag-atake ay kumulo sa pagbubukas ng dalawang mga socket ng CAN BCM at pagbubuklod sa mga ito sa interface ng vcan. Sa unang konektor, tumawag ka sendmsg () kasama ang tagapagpahiwatig RX_SETUP upang mai-configure ang controller para sa papasok na mga mensahe ng CAN at sa pangalawang konektor, tumawag ka sendmsg () upang magpadala ng isang mensahe sa unang konektor.

Pagdating ng mensahe, ang bcm_rx_handler () na tawag ay na-trigger at ang magsasalakay ay kukuha ng tamang sandali at isara ang unang socket, na humahantong sa paglulunsad ng bcm_release () at ang paglulunsad ng mga istraktura bcm_op at bcm_sock, kahit na ang gawain ng bcm_rx_handler () hindi pa nakakumpleto.

Sa pamamagitan ng pagmamanipula ng nilalaman ng bcm_sock, maaaring i-override ng isang umaatak ang isang pointer sa pagpapaandar ng sk-> sk_data_ready (sk), i-redirect ang pagpapatupad, at, gamit ang mga diskarte sa pagbalik ngoriyang programa (ROP), i-override ang parameter ng modprobe_path at patakbuhin ang kanyang code bilang ugat .

Kapag ginagamit ang diskarteng ROP, hindi susubukan ng magsasalakay na ilagay ang kanyang code Sa alaala ni, ngunit ito ay nagpapatakbo sa ang mga piraso ng magagamit na ang mga tagubilin sa makina sa mga naka-load na aklatan, na nagtatapos sa isang pahayag ng pagbabalik ng kontrol (bilang isang panuntunan, ito ang katapusan ng mga pagpapaandar ng library).

Ang mga pahintulot na kinakailangan upang magsagawa ng isang pag-atake ay maaaring makuha ng isang hindi sikat na gumagamit sa mga lalagyan na nilikha sa mga system na may pinagana ang mga namespace ng gumagamit. Halimbawa, ang mga namespace ng gumagamit ay isinasama bilang default sa Ubuntu at Fedora, ngunit hindi pinagana sa Debian at RHEL.

Ang aking pagtatangka na pagsamantalahanin ay nakatuon sa mga kernel na may bersyon> = 5.4-rc1 mula sa gumawa bf74aa86e111. Hindi ko inimbestigahan ang pagsasamantala sa mga kernel na mas matanda sa 5.4-rc1 gamit ang mga tasklet, subalit ang pagsasamantala sa mga mas matandang kernel ay tila posible rin. 

Nabanggit na ang mananaliksik na kinilala ang kahinaan ay nakapaghanda ng isang pagsasamantala upang makakuha ng mga karapatan sa ugat sa mga system na may mga kernel mula sa bersyon 5.4 at mas bago, kasama ang posibilidad ng isang matagumpay na pag-atake sa Ubuntu 20.04.02 LTS.

Ang gawain ng pagsasamantala ay nabawasan sa pagbuo ng isang kadena ng mga tawag sa mga katulad na bloke ("gadget") upang makuha ang kinakailangang pagpapaandar. Ang pag-atake ay nangangailangan ng pag-access upang lumikha ng CAN sockets at isang naka-configure na interface ng vcan network.

Sa wakas nabanggit na nananatili pa rin ang problema sa karamihan ng mga pamamahagi, ngunit ilang araw bago ilabas ang kaukulang mga patch.

Kung interesado kang malaman ang tungkol dito, maaari kang kumunsulta ang sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.