Di cîbicîkirina protokola TIPC-ê de di kernel Linux-ê de qelsiya dûr

Di pêkanîna protokola torê ya TIPC (Transparent Inter-Process Communication) de ku di kernel Linux-ê de hatî peyda kirin de, qelsiyek krîtîk (CVE-2021-43267) hate nas kirin, ku destûrê dide te ku hûn ji dûr ve koda xwe bi îmtiyazên kernelê bi şandina nameyek taybetî hatî sêwirandin bicîh bikin. pakêta torê. Xetereya pirsgirêkê ji ber vê yekê kêm dibe ku êrîş hewce dike ku bi eşkere piştgirîya TIPC-ê di pergalê de çalak bike (barkirin û mîhengkirina modula kernel tipc.ko), ku ji hêla xwerû ve di belavkirinên ne-pisporî yên Linux de nayê kirin.

Protokola TIPC ji kernel 3.19 Linux-ê ve hatî piştgirî kirin, lê koda ku berbi lawazbûnê ve diçe di kernel 5.10 de bû. Zelalbûn di kernelên 5.15.0, 5.10.77 û 5.14.16 de hatî rast kirin. Pirsgirêk xuya dike û hîna di Debian 11, Ubuntu 21.04/21.10, SUSE (di şaxeya SLE15-SP4 ya hîn nehatiye berdan), RHEL (hê jî ne diyar e ka sererastkirina xizan paşde hatiye paşve xistin) û Fedora de nehatiye çareser kirin. Nûvekirina kernelê jixwe ji bo Arch Linux derketiye. Dabeşkirinên bi kernel ji 5.10 kevntir, wek Debian 10 û Ubuntu 20.04, ji pirsgirêkê bandor nabin.

Protokola TIPC bi eslê xwe ji hêla Ericsson ve hatî pêşve xistin, ku ji bo organîzekirina ragihandina nav-pêvajoyê di komekê de hatî çêkirin û bi giranî li ser girêkên komê tê çalak kirin. TIPC dikare li ser Ethernet an UDP (porta torê 6118) bixebite. Dema ku li ser Ethernetê dixebitin, êrîş dikare ji tora herêmî, û dema ku UDP bikar tînin, ji tora gerdûnî were kirin heke port ji hêla dîwarê agir ve neyê girtin. Êrîş dikare ji hêla bikarhênerek herêmî ya bêdestûr a mêvandar ve jî were kirin. Ji bo çalakkirina TIPC-ê, hûn hewce ne ku modula kernelê tipc.ko dakêşin û bi karanîna netlink an bi karanîna tipc ve girêdana bi navgîniya torê ve mîheng bikin.

Zelalbûn xwe di fonksiyona tipc_crypto_key_rc de diyar dike û ji ber nebûna rastrastkirina rast a hevrêziya di navbera daneyên ku di serî de hatine destnîşan kirin û mezinahiya rastîn a daneyan dema ku pakêtên bi celebê MSG_CRYPTO pars dikin, ku ji bo bidestxistina mifteyên şîfrekirinê ji girêkên din têne bikar anîn, çêdibe. di komê de ji bo mebesta deşîfrekirina paşê ya peyamên ku ji van girêkan têne şandin. Mezinahiya daneyên ku di bîranînê de têne kopî kirin wekî cûdahiya di navbera nirxên zeviyên bi mezinahiya peyamê û mezinahiya sernavê de tê hesibandin, lê bêyî ku mezinahiya rastîn a navê algorîtmaya şîfrekirinê û naveroka şîfrekirinê were hesibandin. key di peyamê de hatiye şandin. Tê texmîn kirin ku mezinahiya navê algorîtmê sabît e, û taybetmendiyek bi mezinahiyê veqetandî ji bo mifteyê jî tê derbas kirin, û êrîşkar dikare di vê taybetmendiyê de nirxek ku ji ya rastîn cûda dibe diyar bike, ku dê bibe sedema nivîsandina dûvika peyamê li derveyî tampona veqetandî. struct tipc_aead_key { char alg_name[TIPC_AEAD_ALG_NAME]; unsigned int keylen; /* bi byte */ char key[]; };

Di cîbicîkirina protokola TIPC-ê de di kernel Linux-ê de qelsiya dûr


Source: opennet.ru

Add a comment