Zêdebûna tamponê di Toxcore de bi şandina pakêtek UDP ve tê îstismar kirin

Di Toxcore de qelsiyek (CVE-2-2021) hate nas kirin, pêkanîna referansê ya protokola peyama Tox P44847P, ku dibe ku dema ku pakêtek UDP-ya taybetî hatî çêkirin, darvekirina kodê bide destpêkirin. Zelalbûn bandorê li hemî bikarhênerên serîlêdanên li ser Toxcore-yê yên ku veguheztina UDP-yê neçalak dikin dike. Ji bo êrîşê, bes e ku meriv pakêtek UDP bişîne, ku navnîşana IP-yê, porta torê, û mifteya giştî ya DHT-ê ya mexdûr zanibe (ev agahdarî di DHT-ê de bi gelemperî heye, ango êrîş dibe ku li ser her bikarhênerek an mêvandarê DHT-ê were kirin) .

Pirsgirêk di weşanên toxcore 0.1.9 heta 0.2.12 de xuya bû û di guhertoya 0.2.13 de hate rast kirin. Ji serîlêdanên xerîdar, tenê projeya qTox heya nuha nûvekirinek bi rakirina qelsiyê derxistiye. Wekî çareseriyek ewlehiyê, hûn dikarin karanîna UDP-ê dema ku piştgiriya TCP-ê dihêlin neçalak bikin.

Zelalbûn ji ber zêdebûnek tamponê di fonksiyona handle_request() de, ku ji ber hesabkirina xelet a mezinahiya daneyê di pakêta torê de pêk tê. Bi taybetî, dirêjahiya daneya şîfrekirî di makroya CRYPTO_SIZE de hate destnîşankirin, ku wekî "1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZE", ku paşê di operasyona jêbirinê "dirêj - CRYPTO_SIZE" de hate bikar anîn. Ji ber nebûna parantezê di makroyê de, li şûna berhevkirina hemû nirxan, 1 jê derxînin û beşên mayî lê zêde bikin. Mînakî, li şûna "dirêj - (1 + 32 * 2 + 24)", mezinahiya tamponê wekî "dirêj - 1 + 32 * 2 + 24" hate hesibandin, ku bû sedema nivîsandina daneyan li ser stûna ku li derveyî tamponê bû. tixûb.

Source: opennet.ru

Add a comment