Buffer overflow ing Toxcore dieksploitasi kanthi ngirim paket UDP

Toxcore, implementasi referensi protokol olahpesen Tox P2P, nduweni kerentanan (CVE-2021-44847) sing bisa nyebabake eksekusi kode nalika ngolah paket UDP sing digawe khusus. Kabeh pangguna aplikasi basis Toxcore sing ora duwe transportasi UDP dipateni kena pengaruh kerentanan kasebut. Kanggo nyerang, cukup ngirim paket UDP sing ngerti alamat IP, port jaringan lan kunci DHT umum korban (informasi iki kasedhiya kanggo umum ing DHT, yaiku serangan bisa ditindakake ing pangguna utawa simpul DHT).

Masalah kasebut ana ing rilis toxcore 0.1.9 nganti 0.2.12 lan didandani ing versi 0.2.13. Antarane aplikasi klien, mung proyek qTox sing saiki wis ngrilis nganyari sing ngilangi kerentanan kasebut. Minangka solusi keamanan, sampeyan bisa mateni UDP nalika njaga dhukungan TCP.

Kerentanan disebabake kebanjiran buffer ing fungsi handle_request (), sing kedadeyan amarga pitungan ukuran data sing salah ing paket jaringan. Secara khusus, dawa data sing dienkripsi ditemtokake ing CRYPTO_SIZE makro, sing ditetepake minangka "1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZE", sing banjur digunakake ing operasi subtraction "dawa - CRYPTO_SIZE". Amarga ora ana tanda kurung ing makro, tinimbang nyuda jumlah kabeh nilai, dikurangi 1 lan ditambahake bagean sing isih ana. Contone, tinimbang "dawa - (1 + 32 * 2 + 24)", ukuran buffer diwilang minangka "dawa - 1 + 32 * 2 + 24", kang ngasilaken ing Nimpa data ing tumpukan ngluwihi wates buffer.

Source: opennet.ru

Add a comment