Kerentanan dalam tumpukan IPv6 kernel Linux yang memungkinkan eksekusi kode jarak jauh

Informasi telah diungkapkan tentang kerentanan CVE-2023-6200) di tumpukan jaringan kernel Linux, yang, dalam keadaan tertentu, memungkinkan penyerang dari jaringan lokal untuk mencapai eksekusi kodenya dengan mengirimkan paket ICMPv6 yang dirancang khusus dengan pesan RA (Router Advertisement) yang dimaksudkan untuk mengiklankan informasi tentang router.

Kerentanan hanya dapat dieksploitasi dari jaringan lokal dan muncul pada sistem dengan dukungan IPv6 diaktifkan dan parameter sysctl β€œnet.ipv6.conf.<network_interface_name>.accept_ra” aktif (dapat diperiksa dengan perintah β€œsysctl net.ipv6.conf | grep Accept_ra”) , yang dinonaktifkan secara default di RHEL dan Ubuntu untuk antarmuka jaringan eksternal, tetapi diaktifkan untuk antarmuka loopback, yang memungkinkan serangan dari sistem yang sama.

Kerentanan ini disebabkan oleh kondisi balapan ketika pengumpul sampah memproses catatan fib6_info yang sudah basi, yang dapat menyebabkan akses ke area memori yang sudah dibebaskan (gunakan setelah bebas). Saat menerima paket ICMPv6 dengan pesan iklan router (RA, Router Advertisement), tumpukan jaringan memanggil fungsi ndisc_router_discovery(), yang, jika pesan RA berisi informasi tentang masa pakai rute, memanggil fungsi fib6_set_expires() dan mengisi gc_link struktur. Untuk membersihkan entri usang, gunakan fungsi fib6_clean_expires(), yang melepaskan entri di gc_link dan menghapus memori yang digunakan oleh struktur fib6_info. Dalam hal ini, ada saat tertentu ketika memori untuk struktur fib6_info telah dibebaskan, tetapi link ke sana tetap ada di struktur gc_link.

Kerentanan muncul mulai dari cabang 6.6 dan diperbaiki di versi 6.6.9 dan 6.7. Status perbaikan kerentanan dalam distribusi dapat dinilai di halaman berikut: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Di antara distribusi yang mengirimkan paket dengan kernel 6.6, kita dapat mencatat Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva dan Manjaro; di distribusi lain, ada kemungkinan bahwa perubahan dengan kesalahan di-backport ke dalam paket dengan cabang kernel yang lebih lama (untuk Misalnya di Debian disebutkan bahwa paket dengan kernel 6.5.13 rentan, sedangkan perubahan yang bermasalah muncul di cabang 6.6). Sebagai solusi keamanan, Anda dapat menonaktifkan IPv6 atau mengatur parameter β€œnet.ipv0.conf.*.accept_ra” ke 6.

Sumber: opennet.ru

Tambah komentar