ะ Toxcore, ััะฐะปะพะฝะฝะพะน ัะตะฐะปะธะทะฐัะธะธ P2P-ะฟัะพัะพะบะพะปะฐ ะพะฑะผะตะฝะฐ ัะพะพะฑัะตะฝะธัะผะธ Tox, ะฒััะฒะปะตะฝะฐ ััะทะฒะธะผะพััั (CVE-2021-44847), ะบะพัะพัะฐั ะฟะพัะตะฝัะธะฐะปัะฝะพ ะฟะพะทะฒะพะปัะตั ะธะฝะธัะธะธัะพะฒะฐัั ะฒัะฟะพะปะฝะตะฝะธะต ะบะพะดะฐ ะฟัะธ ะพะฑัะฐะฑะพัะบะต ัะฟะตัะธะฐะปัะฝะพ ะพัะพัะผะปะตะฝะฝะพะณะพ UDP-ะฟะฐะบะตัะฐ. ะฃัะทะฒะธะผะพััะธ ะฟะพะดะฒะตัะถะตะฝั ะฒัะต ะฟะพะปัะทะพะฒะฐัะตะปะธ ะฟัะธะปะพะถะตะฝะธะน ะฝะฐ ะฑะฐะทะต Toxcore, ะฒ ะบะพัะพััั ะฝะต ะพัะบะปัััะฝ ััะฐะฝัะฟะพัั UDP. ะะปั ะฐัะฐะบะธ ะดะพััะฐัะพัะฝะพ ะพัะฟัะฐะฒะธัั UDP-ะฟะฐะบะตั, ะทะฝะฐั IP-ะฐะดัะตั, ัะตัะตะฒะพะน ะฟะพัั ะธ ะพัะบััััะน DHT-ะบะปัั ะถะตััะฒั (ะดะฐะฝะฝัะต ัะฒะตะดะตะฝะธั ะดะพัััะฟะฝั ะฟัะฑะปะธัะฝะพ ะฒ DHT, ั.ะต. ะฐัะฐะบะฐ ะผะพะณะปะฐ ะฑััั ัะพะฒะตััะตะฝะฐ ะฝะฐ ะปัะฑะพะณะพ ะฟะพะปัะทะพะฒะฐัะตะปั ะธะปะธ ัะทะตะป DHT).
ะัะพะฑะปะตะผะฐ ะฟัะพัะฒะปัะปะฐัั ะฒ ะฒัะฟััะบะฐั toxcore ั 0.1.9 ะฟะพ 0.2.12 ะธ ััััะฐะฝะตะฝะฐ ะฒ ะฒะตััะธะธ 0.2.13. ะะท ะบะปะธะตะฝััะบะธั ะฟัะธะปะพะถะตะฝะธะน ะพะฑะฝะพะฒะปะตะฝะธะต ั ััััะฐะฝะตะฝะธะตะผ ััะทะฒะธะผะพััะธ ะฟะพะบะฐ ะฒัะฟัััะธะป ัะพะปัะบะพ ะฟัะพะตะบั qTox. ะ ะบะฐัะตััะฒะต ะพะฑั ะพะดะฝะพะณะพ ะฟััะธ ะทะฐัะธัั ะผะพะถะฝะพ ะพัะบะปััะธัั ะธัะฟะพะปัะทะพะฒะฐะฝะธะต UDP, ะพััะฐะฒะธะฒ ะฟะพะดะดะตัะถะบั TCP.
ะฃัะทะฒะธะผะพััั ะฒัะทะฒะฐะฝะฐ ะฟะตัะตะฟะพะปะฝะตะฝะธะตะผ ะฑััะตัะฐ ะฒ ััะฝะบัะธะธ handle_request(), ะฒะพะทะฝะธะบะฐััะตะณะพ ะธะท-ะทะฐ ะฝะตะบะพััะตะบัะฝะพะณะพ ัะฐััััะฐ ัะฐะทะผะตัะฐ ะดะฐะฝะฝัั
ะฒ ัะตัะตะฒะพะผ ะฟะฐะบะตัะต. ะ ัะฐััะฝะพััะธ, ะดะปะธะฝะฐ ะทะฐัะธััะพะฒะฐะฝะฝัั
ะดะฐะฝะฝัั
ะพะฟัะตะดะตะปัะปะฐัั ะฒ ะผะฐะบัะพัะต CRYPTO_SIZE, ะพะฟัะตะดะตะปัะฝะฝะพะผ ะบะฐะบ ยซ1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZEยป, ะบะพัะพััะน ะฒ ะดะฐะปัะฝะตะนัะตะผ ะธัะฟะพะปัะทะพะฒะฐะปัั ะฒ ะพะฟะตัะฐัะธะธ ะฒััะธัะฐะฝะธั ยซlength โ CRYPTO_SIZEยป. ะะท-ะทะฐ ะพััััััะฒะธั ัะบะพะฑะพะบ ะฒ ะผะฐะบัะพัะต ะฒะผะตััะพ ะฒััะธัะฐะฝะธั ััะผะผั ะฒัะตั
ะทะฝะฐัะตะฝะธะน ะฒัะฟะพะปะฝัะปะพัั ะฒััะธัะฐะฝะธะต 1 ะธ ัะปะพะถะตะฝะธะต ะพััะฐะปัะฝัั
ัะฐััะตะน. ะะฐะฟัะธะผะตั, ะฒะผะตััะพ ยซlength โ (1 + 32 * 2 + 24)ยป ัะฐะทะผะตั ะฑััะตัะฐ ัะฐัััะธััะฒะฐะปัั ะบะฐะบ ยซlength โ 1 + 32 * 2 + 24ยป, ััะพ ะฟัะธะฒะพะดะธะปะพ ะบ ะฟะตัะตะทะฐะฟะธัะธ ะดะฐะฝะฝัั
ะฒ ััะตะบะต, ะฝะฐั
ะพะดััะธั
ัั ะทะฐ ะณัะฐะฝะธัะตะน ะฑััะตัะฐ.
เจธเจฐเฉเจค: opennet.ru