Kerentanan pada kernel Linux yang dapat menyebabkan crash dengan mengirimkan paket UDP

Di kernel Linux diidentifikasi kerentanan (CVE-2019-11683), yang memungkinkan Anda menyebabkan penolakan layanan dari jarak jauh dengan mengirimkan paket UDP yang dirancang khusus (paket kematian). Masalah tersebut disebabkan oleh error pada handler udp_gro_receive_segment (net/ipv4/udp_offload.c) dengan implementasi teknologi GRO (Generic Accept Offload) dan dapat mengakibatkan kerusakan pada isi area memori kernel saat memproses paket UDP dengan zero padding (muatan kosong).

Masalahnya hanya mempengaruhi kernel 5.0karena dukungan GRO untuk soket UDP adalah diimplementasikan pada bulan November tahun lalu dan hanya berhasil masuk ke rilis kernel stabil terbaru. Teknologi GRO memungkinkan Anda untuk mempercepat pemrosesan paket masuk dalam jumlah besar dengan menggabungkan beberapa paket ke dalam blok yang lebih besar yang tidak memerlukan pemrosesan terpisah untuk setiap paket.
Untuk TCP, masalah tidak terjadi karena protokol ini tidak mendukung agregasi paket tanpa payload.

Kerentanan sejauh ini hanya diperbaiki dalam bentuk tambalan, pembaruan korektif belum dipublikasikan (perbaikan pembaruan 5.0.11 kemarin tidak termasuk). Dari kit distribusi, kernel 5.0 berhasil dimasukkan ke dalamnya Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo dan distribusi lainnya yang terus diperbarui. Debian, Ubuntu 18.10 dan versi lebih lama, RHEL/CentOS ΠΈ SUSE/bukaSUSE masalahnya tidak mempengaruhi.

Hasilnya, masalah ditemukan menggunakan Sistem pengujian fuzzing otomatis yang dibuat oleh Google syzbot dan penganalisa KASAN (KernelAddressSanitizer), bertujuan untuk mengidentifikasi kesalahan saat bekerja dengan memori dan fakta akses memori yang salah, seperti mengakses area memori yang dibebaskan dan menempatkan kode di area memori yang tidak dimaksudkan untuk manipulasi tersebut.

Sumber: opennet.ru

Tambah komentar