Nakatuklas ng kahinaan sa pagpapatupad ng TIPC ng Linux kernel

Kamakailan-lamang na ang balita ay sinira iyon natukoy ng isang mananaliksik sa seguridad ang isang kritikal na kahinaan (nakalista na sa ilalim ng CVE-2021-43267) sa pagpapatupad ng protocol ng network ng TIPC ibinibigay sa Linux kernel, na nagbibigay-daan sa malayuang pagpapatupad ng code na may mga pribilehiyo ng kernel sa pamamagitan ng pagpapadala ng isang espesyal na ginawang network packet.

Ang panganib ng problema ay nababawasan ng katotohanan na ang pag-atake ay nangangailangan ng tahasang pagpapagana ng suporta sa TIPC sa system (sa pamamagitan ng paglo-load at pag-configure ng tipc.ko kernel module), na hindi ginagawa bilang default sa mga non-Linux distributions. specialized.

Ang CodeQL ay isang engine ng pagsusuri na nagbibigay-daan sa iyong magpatakbo ng mga query sa iyong code. Mula sa isang pananaw sa seguridad, mabibigyang-daan ka nitong makahanap ng mga kahinaan sa pamamagitan lamang ng paglalarawan ng kanilang hitsura. Magiging live ang CodeQL at hahanapin ang lahat ng pagkakataon ng kahinaang iyon.

Ang TIPC ay suportado na mula noong Linux 3.19 kernel, ngunit ang code na humahantong sa kahinaan ay kasama sa 5.10 kernel.. Ang protocol ng TIPC ay orihinal na binuo ni Ericsson, ito ay nilayon upang ayusin ang inter-process na komunikasyon sa isang cluster at pangunahing naka-activate sa mga node ng cluster.

TIPC maaaring gumana pareho sa Ethernet at sa UDP (network port 6118). Sa kaso ng pagtatrabaho sa pamamagitan ng Ethernet, ang pag-atake ay maaaring isagawa mula sa lokal na network, at kapag gumagamit ng UDP, mula sa pandaigdigang network, kung ang port ay hindi sakop ng isang firewall. Ang pag-atake ay maaari ding isagawa ng isang lokal na user na walang mga pribilehiyo sa host. Upang paganahin ang TIPC, dapat mong i-load ang tipc.ko kernel module at i-configure ang link sa interface ng network gamit ang netlink o ang tipc utility.

Ang protocol ay ipinatupad sa isang kernel module na kasama ng lahat ng pangunahing distribusyon ng Linux. Kapag na-load ng isang user, maaari itong gamitin bilang connector at maaaring i-configure sa isang interface gamit ang netlink (o gamit ang tipc tool ng user space, na gagawa ng mga tawag sa netlink na ito) bilang isang hindi privileged user.

Maaaring i-configure ang TIPC upang gumana sa isang bearer protocol tulad ng Ethernet o UDP (sa huling kaso, ang kernel ay nakikinig sa port 6118 para sa mga papasok na mensahe mula sa anumang makina). Dahil ang isang mababang-pribilehiyo na gumagamit ay hindi makakagawa ng mga hilaw na ethernet frame, ang pagtatakda ng maydala sa UDP ay nagpapadali sa pagsulat ng lokal na pagsasamantala.

Ang kahinaan ay nagpapakita mismo sa tipc_crypto_key_rc function at sanhi ng kakulangan ng wastong pag-verify ng mga sulat sa pagitan ng kung ano ang tinukoy sa header at ang aktwal na laki ng data kapag sinusuri ang mga packet na may uri ng MSG_CRYPTO na ginagamit upang makakuha ng mga encryption key mula sa iba pang mga node sa cluster upang i-decrypt sa ibang pagkakataon ang mga mensaheng ipinadala mula sa mga node na ito.

Ang laki ng data na kinopya sa memorya ay kinakalkula bilang pagkakaiba sa pagitan ng mga halaga ng mga patlang na may laki ng mensahe at laki ng header, ngunit hindi isinasaalang-alang ang aktwal na laki ng pangalan ng algorithm ng pag-encrypt na ipinadala. sa mensahe at sa nilalaman ng susi.

Ang laki ng pangalan ng algorithm ay ipinapalagay na maayos, at bilang karagdagan, ang isang hiwalay na katangian na may sukat ay ipinasa para sa susi, at ang umaatake ay maaaring tumukoy ng isang halaga sa katangiang ito na naiiba sa aktwal na halaga, na hahantong sa pagsulat sa ang pila ng mensahe sa labas ng inilaan na buffer.

Ang kahinaan ay naayos sa mga kernel 5.15.0, 5.10.77 at 5.14.16, bagaman lumilitaw ang problema at hindi pa naayos sa Debian 11, Ubuntu 21.04 / 21.10, SUSE (sa sangay ng SLE15-SP4 na hindi pa inilabas), RHEL (hindi pa detalyado kung na-update ang mahinang solusyon) at Fedora.

Bagaman ang isang kernel update ay inilabas na para sa Arch Linux at ang mga distribusyon na may mga kernel bago ang 5.10, tulad ng Debian 10 at Ubuntu 20.04, ay hindi apektado.

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye Sa 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.