Toxcore, te whakatinanatanga tohutoro o te kawa karere Tox P2P, he whakaraeraetanga (CVE-2021-44847) ka taea pea te whakaoho i te mahi waehere i te wa e tukatuka ana i tetahi kete UDP i hangaia motuhake. Ko nga kaiwhakamahi katoa o nga tono a Toxcore karekau he UDP waka haua ka pangia e te whakaraeraetanga. Ki te whakaeke, he nui noa ki te tuku i tetahi paatete UDP e mohio ana ki te wahitau IP, te tauranga whatunga me te taviri DHT mo te tangata i mate (kei te waatea enei korero i te DHT, ara, ka taea te whakaeke ki runga i tetahi kaiwhakamahi, DHT node ranei).
Ko te take i puta i roto i nga putanga toxcore 0.1.9 ki te 0.2.12 ka whakatikahia ki te putanga 0.2.13. I roto i nga tono a nga kaihoko, ko te kaupapa qTox anake kua tukuna he whakahou e whakakore ana i te whakaraeraetanga. Hei mahi haumaru, ka taea e koe te whakakore i te UDP i te wa e mau tonu ana te tautoko TCP.
Ko te whakaraeraetanga i ahu mai i te puhake putunga i roto i te mahi handle_request(), ka puta na te he o te tatau i te rahinga raraunga i roto i te kete whatunga. Ko te tikanga, i whakatauhia te roa o nga raraunga whakamunatia i roto i te tonotono CRYPTO_SIZE, kua tautuhia hei "1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZE", i whakamahia i muri mai i te mahi tangohanga "roa - CRYPTO_SIZE". Na te kore o nga reu i roto i te tonotono, kaore i tangohia te tapeke o nga uara katoa, ka tangohia te 1 me te taapiri i nga waahanga e toe ana. Hei tauira, hei utu mo te "roa - (1 + 32 * 2 + 24)", ko te rahi o te papare i tatauhia hei "roa - 1 + 32 * 2 + 24", i hua ai te tuhirua i nga raraunga i runga i te puranga i tua atu o te rohe papaa.
Source: opennet.ru
