Tiga kerentanan ditemukan di tumpukan TCP Linux yang mengarah ke penolakan layanan jarak jauh

crash linux

Recientemente merilis berita tentang mengidentifikasi beberapa kerentanan kritis di tumpukan TCP Linux dan FreeBSD itu memungkinkan penyerang untuk memulai kegagalan kernel dari jarak jauh atau menyebabkan konsumsi sumber daya yang berlebihan dengan memproses paket TCP yang dibuat secara khusus (paket kematian).

Masalah tersebut disebabkan oleh kesalahan dalam menangani ukuran maksimum blok data dalam paket TCP (MSS, Ukuran segmen maksimum) dan mekanisme untuk pengenalan koneksi selektif (SACK, pengenalan TCP selektif).

Apa yang dimaksud dengan pengenalan selektif?

Pengenalan TCP Selektif (SACK) Ini adalah mekanisme di mana penerima data dapat menginformasikan pengirim tentang semua segmen yang telah berhasil diterima.

Ini Memungkinkan pengirim untuk mengirimkan kembali segmen aliran yang hilang dari set 'terkenal' nya. Saat TCP SACK dinonaktifkan, rangkaian transmisi ulang yang jauh lebih besar diperlukan untuk mengirimkan ulang seluruh urutan.

Di kernel Linux, masalah diperbaiki di versi 4.4.182, 4.9.182, 4.14.127, 4.19.52 dan 5.1.11. Solusi untuk FreeBSD tersedia sebagai tambalan.

Pembaruan paket kernel dirilis untuk Debian, RHEL, SUSE / openSUSE, ALT, Ubuntu, Fedora, dan Arch Linux.

CVE-2019-11477 (KURUNG Panik)

Masalahnya memanifestasikan dirinya dalam kernel Linux mulai 2.6.29 dan memungkinkan Anda untuk merusak kernel (panik) saat mengirim serangkaian paket SACK karena overflow integer di pengontrol.

Untuk serangan, itu cukup untuk mengatur nilai MSS menjadi 48 byte untuk koneksi TCP dan mengirimkan urutan paket karung yang tersusun dengan cara tertentu.

Inti dari masalahnya adalah strukturnya tcp_skb_cb (Penyangga Soket) dirancang untuk menyimpan 17 fragmen ("Tentukan MAX_SKB_FRAGS (65536 / PAGE_SIZE + 1) => 17").

Dalam proses pengiriman paket, itu ditempatkan di antrian kirim dan tcp_skb_cb menyimpan detail tentang paket, seperti nomor urut, bendera, serta bidang "tcp_gso_segs" dan "tcp_gso_size", yang digunakan untuk mengirim Informasi segmentasi ke pengontrol (TSO, Segment Segment Download) untuk memproses segmen di sisi kartu jaringan.

Potongan disimpan ketika packet loss atau kebutuhan transmisi ulang paket selektif terjadi, jika SACK diaktifkan dan TSO didukung oleh driver.

Sebagai solusi untuk perlindungan, Anda dapat menonaktifkan pemrosesan SACK atau memblokir koneksi dengan MSS kecil (hanya berfungsi jika Anda menyetel sysctl net.ipv4.tcp_mtu_probing ke 0 dan mungkin merusak beberapa normal) dengan MSS rendah).

CVE-2019-11478 (Kelambatan karung)

Kegagalan ini menyebabkan gangguan pada mekanisme SACK (saat menggunakan kernel Linux di 4.15) atau konsumsi sumber daya yang berlebihan.

Masalahnya memanifestasikan dirinya saat memproses paket SACK yang dibuat secara khusus yang dapat digunakan untuk memecah antrian transmisi ulang (transmisi ulang TCP). Solusi untuk perlindungan serupa dengan kerentanan sebelumnya

CVE-2019-5599 (Kelambatan karung)

Memungkinkan untuk menyebabkan fragmentasi peta paket yang dikirim saat memproses urutan SACK dalam satu koneksi TCP dan menyebabkan operasi pencarian daftar intensif sumber daya untuk dijalankan.

Masalahnya memanifestasikan dirinya di FreeBSD 12 dengan mekanisme deteksi paket loss RACK. Sebagai solusinya, Anda dapat menonaktifkan modul RACK (modul ini tidak dimuat secara default, ini dinonaktifkan dengan menentukan sysctl net.inet.tcp.functions_default = freebsd)

CVE-2019-11479

Cacat ini memungkinkan penyerang membuat kernel Linux membagi tanggapan menjadi beberapa segmen TCP, yang masing-masing hanya mencakup 8 byte data, yang dapat menyebabkan peningkatan lalu lintas yang signifikan, peningkatan beban CPU, dan saluran komunikasi yang tersumbat.

Selain itu, ia menghabiskan sumber daya tambahan (daya prosesor dan kartu jaringan).

Serangan ini membutuhkan upaya terus menerus dari pihak penyerang dan dampaknya akan berakhir segera setelah penyerang berhenti mengirimkan lalu lintas.

Saat serangan ini sedang berlangsung, sistem akan berjalan pada kapasitas yang berkurang, menyebabkan penolakan layanan untuk beberapa pengguna.

Pengguna jarak jauh dapat memicu masalah ini dengan menyetel ukuran segmen maksimum (MSS) dari koneksi TCP pada batas terendahnya (48 byte) dan mengirimkan urutan paket SACK yang dibuat secara khusus.

Sebagai solusinya, disarankan untuk memblokir koneksi dengan MSS rendah.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.