Buffer overflow di Toxcore dieksploitasi ku ngirim pakét UDP

Kerentanan (CVE-2-2021) parantos diidentifikasi dina Toxcore, palaksanaan rujukan protokol olahtalatah Tox P44847P, anu berpotensi memicu palaksanaan kode nalika ngolah pakét UDP anu didamel khusus. Kerentanan mangaruhan sadaya pangguna aplikasi basis Toxcore anu henteu ngagaduhan angkutan UDP ditumpurkeun. Pikeun nyerang, cukup ngirim pakét UDP, terang alamat IP, port jaringan, sareng konci umum DHT korban (inpormasi ieu sayogi umum di DHT, nyaéta serangan tiasa dilakukeun dina pangguna atanapi host DHT) .

Masalahna muncul dina sékrési toxcore 0.1.9 dugi ka 0.2.12 sareng dibenerkeun dina versi 0.2.13. Tina aplikasi klien, ngan ukur proyék qTox anu dugi ka ngaluarkeun pembaruan kalayan ngaleungitkeun kerentanan. Salaku workaround kaamanan, anjeun tiasa nganonaktipkeun pamakean UDP bari ninggalkeun rojongan TCP.

Kerentanan disababkeun ku ngabahekeun panyangga dina fungsi handle_request (), nu lumangsung alatan itungan lepat tina ukuran data dina pakét jaringan. Khususna, panjang data énkripsi ditangtukeun dina CRYPTO_SIZE makro, diartikeun "1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZE", anu engké dianggo dina operasi pangurangan "panjangna - CRYPTO_SIZE". Alatan kurangna kurung dina makro, tinimbang subtracting jumlah sadaya nilai, subtract 1 jeung nambahkeun bagian sésana. Contona, tinimbang "panjang - (1 + 32 * 2 + 24)", ukuran panyangga diitung salaku "panjangna - 1 + 32 * 2 + 24", nu ngarah ka overwriting data dina tumpukan nu aya di luar panyangga. wates.

sumber: opennet.ru

Tambahkeun komentar