Tsis pub dhau hauv Toxcore siv los ntawm kev xa ib pob ntawv UDP

Toxcore, qhov kev siv ntawm Tox P2P messaging raws tu qauv, muaj qhov tsis zoo (CVE-2021-44847) uas tuaj yeem ua rau muaj kev ua txhaum cai thaum ua cov pob ntawv tshwj xeeb UDP. Txhua tus neeg siv ntawm Toxcore-raws li daim ntawv thov uas tsis muaj UDP thauj neeg xiam oob qhab raug cuam tshuam los ntawm qhov tsis zoo. Txhawm rau tawm tsam, nws txaus los xa UDP pob ntawv paub txog IP chaw nyob, chaw nres nkoj network thiab pej xeem DHT tus yuam sij ntawm tus neeg raug tsim txom (cov ntaub ntawv no muaj nyob rau hauv DHT, piv txwv li kev tawm tsam tuaj yeem ua rau txhua tus neeg siv lossis DHT node).

Qhov teeb meem tau tshwm sim hauv toxcore tso tawm 0.1.9 txog 0.2.12 thiab tau kho hauv version 0.2.13. Ntawm cov neeg siv khoom, tsuas yog qhov project qTox tau tso tawm qhov hloov tshiab uas tshem tawm qhov tsis zoo. Raws li kev ruaj ntseg workaround, koj tuaj yeem lov tes taw UDP thaum tuav TCP kev txhawb nqa.

Qhov tsis muaj zog yog tshwm sim los ntawm qhov tsis txaus nyob rau hauv handle_request() muaj nuj nqi, uas tshwm sim vim qhov tsis raug ntawm kev suav cov ntaub ntawv loj hauv ib pob ntawv network. Tshwj xeeb, qhov ntev ntawm cov ntaub ntawv encrypted tau txiav txim siab hauv macro CRYPTO_SIZE, txhais tau tias "1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZE", uas tau siv tom qab siv hauv kev rho tawm haujlwm "ntev - CRYPTO_SIZE". Vim tias tsis muaj kab lus hauv macro, es tsis txhob rho tawm tag nrho cov txiaj ntsig, nws rho tawm 1 thiab ntxiv cov seem seem. Piv txwv li, es tsis txhob "ntev - (1 + 32 * 2 + 24)", qhov tsis loj yog xam raws li "ntev - 1 + 32 * 2 + 24", uas ua rau overwriting cov ntaub ntawv ntawm pawg dhau ntawm qhov tsis muaj ciam teb.

Tau qhov twg los: opennet.ru

Ntxiv ib saib