Thar-shruth bufair ann an Toxcore air a chleachdadh le bhith a’ cur pacaid UDP

Tha so-leòntachd aig Toxcore, buileachadh iomraidh protocol teachdaireachd Tox P2P, (CVE-2021-44847) a dh’ fhaodadh cur an gnìomh còd a bhrosnachadh nuair a bhios e a ’giullachd pacaid UDP a chaidh a dhealbhadh gu sònraichte. Tha an so-leòntachd a’ toirt buaidh air a h-uile neach-cleachdaidh de thagraidhean stèidhichte air Toxcore aig nach eil còmhdhail UDP ciorramach. Gus ionnsaigh a thoirt, tha e gu leòr pacaid UDP a chuir a-mach le fios air seòladh IP, port lìonra agus iuchair DHT poblach an neach-fulang (tha am fiosrachadh seo ri fhaighinn gu poblach ann an DHT, ie dh’ fhaodadh an ionnsaigh a bhith air a dhèanamh air neach-cleachdaidh sam bith no nód DHT).

Bha a’ chùis an làthair ann am fiosan toxcore 0.1.9 tro 0.2.12 agus chaidh a shuidheachadh ann an dreach 0.2.13. Am measg thagraidhean teachdaiche, chan eil ach am pròiseact qTox gu ruige seo air ùrachadh fhoillseachadh a chuireas às do so-leòntachd. Mar fhuasgladh tèarainteachd, faodaidh tu UDP a chuir dheth fhad ‘s a chumas tu taic TCP.

Tha an so-leòntachd air adhbhrachadh le tar-shruth bufair anns a’ ghnìomh handle_request (), a tha a’ tachairt air sgàth àireamhachadh ceàrr air meud an dàta ann am pacaid lìonra. Gu sònraichte, chaidh fad an dàta crioptaichte a dhearbhadh anns a’ macro CRYPTO_SIZE, air a mhìneachadh mar “1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZE”, a chaidh a chleachdadh às deidh sin san obrachadh toirt air falbh “fad - CRYPTO_SIZE”. Leis nach robh brathan anns a 'mhacoc, an àite a bhith a' toirt air falbh suim nan luachan gu lèir, thug e air falbh 1 agus chuir e na pàirtean a bha air fhàgail ris. Mar eisimpleir, an àite "fad - (1 + 32 * 2 + 24)", chaidh meud bufair a thomhas mar "fad - 1 + 32 * 2 + 24", a lean gu ath-sgrìobhadh dàta air a 'chruach taobh a-muigh na crìochan bufair.

Source: fosgailtenet.ru

Cuir beachd ann