Preliv podatkov v Toxcore, ki ga izkoriščajo s pošiljanjem UDP paketa

V Toxcore, referenčni izvedbi P2P protokola za izmenjavo sporočil Tox, je bila odkrita ranljivost (CVE-2021-44847), ki potencialno omogoča izvajanje kode pri obdelavi posebej oblikovanega UDP paketa. Vsem uporabnikom aplikacij, temelječih na Toxcore, ki nimajo izklopljenega UDP prometa, grozi ta ranljivost. Za napad je dovolj poslati UDP paket, poznati IP naslov, omrežni port in odprt DHT ključ žrtve (te informacije so javno dostopne v DHT, torej je napad mogoče izvesti na kateregakoli uporabnika ali vozlišče DHT).

Težava se je pojavljala v različicah toxcore od 0.1.9 do 0.2.12 in je bila odpravljena v različici 0.2.13. Od odjemalskih aplikacij je posodobitev, ki odpravi ranljivost, do sedaj izdal le projekt qTox. Kot obvod zaščite lahko izklopite uporabo UDP, pri čemer pa ohranite podporo za TCP.

Ranljivost je povzročena zaradi prelivanja podatkov v funkciji handle_request(), ki nastane zaradi nepravilnega izračuna velikosti podatkov v omrežnem paketu. Še posebej je dolžina šifriranih podatkov določena v makru CRYPTO_SIZE, ki je bil opredeljen kot '1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZE', kar se je kasneje uporabilo pri operaciji odštevanja 'length — CRYPTO_SIZE'. Zaradi pomanjkanja oklepajev v makru je namesto odštevanja skupnih vrednosti prišlo do odštevanja 1 in seštevanja preostalih delov. Na primer, namesto 'length — (1 + 32 * 2 + 24)' je bila velikost pomnilnika izračunana kot 'length — 1 + 32 * 2 + 24', kar je povzročilo prepisovanje podatkov na skladu, ki so izven meja pomnilnika.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster