Kerentanan dalam pelaksanaan soket AF_PACKET bagi kernel Linux

Tiga tahun selepas gelombang kelemahan (1, 2, 3, 4, 5) dalam subsistem AF_PACKET bagi kernel Linux dikenalpasti satu lagi masalah (CVE-2020 14386-), membenarkan pengguna tempatan yang tidak mempunyai hak istimewa untuk melaksanakan kod sebagai akar atau keluar dari bekas terpencil jika mereka mempunyai akses root.

Mencipta soket AF_PACKET dan mengeksploitasi kelemahan memerlukan keistimewaan CAP_NET_RAW. Walau bagaimanapun, kebenaran yang ditentukan boleh diperolehi oleh pengguna yang tidak mempunyai hak istimewa dalam bekas yang dibuat pada sistem dengan sokongan untuk ruang nama pengguna didayakan. Sebagai contoh, ruang nama pengguna didayakan secara lalai pada Ubuntu dan Fedora, tetapi tidak didayakan pada Debian dan RHEL. Pada Android, proses pelayan media mempunyai hak untuk mencipta soket AF_PACKET, yang melaluinya kelemahan boleh dieksploitasi.

Kerentanan hadir dalam fungsi tpacket_rcv dan disebabkan oleh ralat dalam mengira pembolehubah netoff. Penyerang boleh mencipta keadaan di mana pembolehubah netoff ditulis kepada nilai yang kurang daripada pembolehubah maclen, yang akan menyebabkan limpahan apabila mengira "macoff = netoff - maclen" dan seterusnya salah menetapkan penunjuk kepada penimbal untuk data masuk. Akibatnya, penyerang boleh memulakan penulisan dari 1 hingga 10 bait ke kawasan di luar sempadan penimbal yang diperuntukkan. Adalah diperhatikan bahawa eksploitasi sedang dalam pembangunan yang membolehkan anda mendapatkan hak root dalam sistem.

Masalahnya telah wujud dalam kernel sejak Julai 2008, i.e. menampakkan dirinya dalam semua nukleus sebenar. Pembetulan tersedia pada masa ini sebagai tampalan. Anda boleh menjejaki ketersediaan kemas kini pakej dalam pengedaran pada halaman berikut: Ubuntu, Fedora, SUSE, Debian, RHEL, Arch.

Sumber: opennet.ru

Tambah komen