Kwetsberens op ôfstân yn kernel-ymplemintaasje fan TIPC-protokol Linux

Yn 'e levere kernel Linux In krityske kwetsberens (CVE-2021-43267) is identifisearre yn 'e ymplemintaasje fan it TIPC (Transparent Inter-process Communication) netwurkprotokol. Dizze kwetsberens lit eksterne oanfallers koade útfiere mei kernelprivileezjes troch in spesjaal makke netwurkpakket te ferstjoeren. De kwetsberens wurdt ferswakke troch it feit dat de oanfal it eksplisyt ynskeakeljen fan TIPC-stipe yn it systeem fereasket (it laden en konfigurearjen fan 'e tipc.ko kernelmodule), dy't net oanwêzich is yn net-spesjalisearre distribúsjes. Linux wurdt net standert produsearre.

It TIPC-protokol wurdt stipe sûnt de kernel Linux 3.19, mar de koade dy't de kwetsberens feroarsaket, wie opnommen yn kernel 5.10. De kwetsberens is reparearre yn kernels 5.15.0, 5.10.77, en 5.14.16. It probleem manifestearret himsels en is noch net reparearre yn Debian 11, Ubuntu 21.04 april 21.10, SUSE (yn 'e net útbrochte SLE15-SP4-tûke), RHEL (noch gjin details oer oft de kwetsbere fix backported is), en Fedora. In kernel-update is al útbrocht foar Arch. LinuxDistribúsjes mei in kernel âlder as 5.10, lykas Debian 10 en Ubuntu 20.04, net beynfloede troch it probleem.

It TIPC-protokol waard oarspronklik ûntwikkele troch Ericsson, ûntworpen om kommunikaasje tusken prosessen te organisearjen yn in kluster en wurdt benammen aktivearre op klusterknooppunten. TIPC kin operearje oer itsij Ethernet of UDP (netwurk haven 6118). By it wurkjen oer Ethernet kin de oanfal útfierd wurde fanút it lokale netwurk, en by it brûken fan UDP, fan it globale netwurk as de haven net wurdt bedutsen troch in firewall. De oanfal kin ek útfierd wurde troch in unprivileged lokale brûker fan de host. Om TIPC te aktivearjen, moatte jo de tipc.ko-kernelmodule downloade en de bining oan 'e netwurkynterface konfigurearje mei netlink as it tipc-hulpprogramma.

De kwetsberens manifestearret him yn 'e tipc_crypto_key_rc-funksje en wurdt feroarsake troch it ûntbrekken fan goede ferifikaasje fan' e korrespondinsje tusken de gegevens oantsjutte yn 'e koptekst en de werklike grutte fan' e gegevens by it parsearjen fan pakketten mei it MSG_CRYPTO-type, brûkt om fersiferingskaaien fan oare knopen te krijen yn it kluster foar it doel fan folgjende ûntsiferjen fan berjochten ferstjoerd fan dizze knopen. De grutte fan 'e gegevens kopiearre yn it ûnthâld wurdt berekkene as it ferskil tusken de wearden fan' e fjilden mei de berjochtgrutte en de kopgrutte, mar sûnder rekken te hâlden mei de werklike grutte fan 'e namme fan it fersiferingsalgoritme en de ynhâld fan' e kaai ​​oerbrocht yn it berjocht. Der wurdt fan útgien dat de grutte fan 'e algoritme namme is fêst, en in apart attribút mei de grutte wurdt boppedat trochjûn foar de kaai, en in oanfaller kin opjaan in wearde yn dit attribút dy't ferskilt fan de eigentlike, wat sil liede ta it skriuwen fan de sturt fan it berjocht foarby de tawiisd buffer. struct tipc_aead_key {char alg_name[TIPC_AEAD_ALG_NAME]; net ûndertekene int keylen; /* in bytes */ char key[]; };


Kwetsberens op ôfstân yn kernel-ymplemintaasje fan TIPC-protokol Linux


Boarne: opennet.ru
Keapje betroubere hosting foar siden mei DDoS-beskerming, VPS VDS-tsjinners 🔥 Keapje betroubere websidehosting mei DDoS-beskerming, VPS VDS-tsjinners | ProHoster