Buffer Iwwerfloss am Toxcore exploitéiert andeems en UDP Paket schéckt

Eng Schwachstelle (CVE-2-2021) gouf am Toxcore identifizéiert, d'Referenzimplementatioun vum Tox P44847P Messagerie Protokoll, déi potenziell d'Code-Ausféierung ausléise kéint wann Dir e speziell erstallt UDP-Paket veraarbecht. D'Schwachheet beaflosst all Benotzer vun Toxcore-baséiert Uwendungen déi net UDP Transport behënnert hunn. Fir unzegräifen, ass et genuch fir en UDP Paket ze schécken, d'IP Adress, den Netzwierkport an den DHT ëffentleche Schlëssel vum Affer ze kennen (dës Informatioun ass ëffentlech verfügbar an DHT, dh d'Attack konnt op all Benotzer oder DHT Host gemaach ginn) .

D'Thema erschéngt an Toxcore Releases 0.1.9 bis 0.2.12 a gouf an der Versioun 0.2.13 fixéiert. Vun de Client Uwendungen, nëmmen de qTox Projet huet bis elo en Update mat der Eliminatioun vun der Schwachstelle verëffentlecht. Als Sécherheetsléisung kënnt Dir d'Benotzung vun UDP auszeschalten wärend Dir TCP Support verléisst.

D'Schwachheet gëtt duerch e Pufferiwwerfluss an der Handle_request () Funktioun verursaacht, déi geschitt wéinst enger falscher Berechnung vun der Dategréisst am Netzpaket. Besonnesch, war d'Längt vun der verschlësselte Donnéeën am Macro bestëmmt CRYPTO_SIZE, definéiert als "1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZE", déi spéider an der subtraction Operatioun "Längt - CRYPTO_SIZE" benotzt gouf. Wéinst dem Mangel u Klammern am Makro, amplaz d'Zomm vun alle Wäerter ze subtrahéieren, subtrahéieren 1 an addéiere déi reschtlech Deeler. Zum Beispill, amplaz "Längt - (1 + 32 * 2 + 24)", gouf d'Puffergréisst als "Längt - 1 + 32 * 2 + 24" berechent, wat dozou gefouert huet, d'Donnéeën op de Stack ze iwwerschreiwe, déi ausserhalb vum Puffer waren. Grenz.

Source: opennet.ru

Setzt e Commentaire