Kerentanan dalam kernel Linux yang boleh menyebabkan ranap sistem dengan menghantar paket UDP

Dalam kernel Linux dikenalpasti kelemahan (CVE-2019 11683-), yang membolehkan anda membuat penafian perkhidmatan dari jauh dengan menghantar paket UDP yang direka khas (paket kematian). Masalahnya disebabkan oleh ralat dalam pengendali udp_gro_receive_segment (net/ipv4/udp_offload.c) dengan pelaksanaan teknologi GRO (Generic Receive Offload) dan boleh menyebabkan kerosakan kandungan kawasan memori kernel apabila memproses paket UDP dengan padding sifar (muatan kosong).

Masalahnya hanya menjejaskan kernel 5.0kerana sokongan GRO untuk soket UDP adalah dilaksanakan pada November tahun lalu dan hanya berjaya mendapatkan keluaran kernel stabil terkini. Teknologi GRO membolehkan anda mempercepatkan pemprosesan sejumlah besar paket masuk dengan mengagregatkan berbilang paket ke dalam blok yang lebih besar yang tidak memerlukan pemprosesan berasingan bagi setiap paket.
Untuk TCP, masalah tidak berlaku, kerana protokol ini tidak menyokong pengagregatan paket tanpa muatan.

Kerentanan setakat ini telah diperbaiki hanya dalam bentuk tampalan, kemas kini pembetulan belum lagi diterbitkan (kemas kini 5.0.11 semalam tidak termasuk). Daripada kit pengedaran, kernel 5.0 berjaya dimasukkan ke dalam Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo dan pengedaran lain yang dikemas kini secara berterusan. Debian, Ubuntu 18.10 dan lebih awal, RHEL / CentOS ΠΈ SUSE/openSUSE masalah tidak menjejaskan.

Masalahnya ditemui akibatnya menggunakan Sistem ujian kabur automatik dicipta oleh Google syzbot dan penganalisis KASAN (KernelAddressSanitizer), bertujuan untuk mengenal pasti ralat apabila bekerja dengan memori dan fakta capaian memori yang salah, seperti mengakses kawasan memori yang dibebaskan dan meletakkan kod dalam kawasan memori yang tidak dimaksudkan untuk manipulasi sedemikian.

Sumber: opennet.ru

Tambah komen