Dirty Pipe: kerentanan yang memungkinkan data ditimpa

Baru-baru ini tersiar kabar itu kerentanan diidentifikasi di kernel Linux dan yang sudah dikatalogkan di bawah CVE-2022-0847 dan yang mereka beri nama sebagai "pipa kotor".

Kerentanan ini dijuluki "Pipa Kotor"memungkinkan untuk menimpa isi cache halaman untuk file apa pun, termasuk yang diatur ke read-only, dibuka dengan flag O_RDONLY, atau terletak di sistem file yang dipasang hanya-baca.

Di sisi praktis, kerentanan dapat digunakan untuk menyuntikkan kode ke dalam proses arbitrer atau merusak data dalam file yang terbuka. Misalnya, Anda dapat mengubah konten file otor_keys untuk proses sshd.

Tentang Pipa Kotor

Ini mirip dengan kerentanan kritis Sapi Kotor teridentifikasi pada tahun 2016 dan Pipa Kotor disebut-sebut setara dengan KK Kotor dalam hal bahaya, tetapi yang satu ini jauh lebih mudah dioperasikan.

Pipa Kotor diidentifikasi selama analisis keluhan tentang kerusakan berkala pada arsip diunduh melalui jaringan pada sistem yang mengunduh file terkompresi dari server pencatatan (37 kerusakan dalam 3 bulan pada sistem yang dimuat), yang disiapkan menggunakan operasi splice() dan pipa tanpa nama.

Kerentanan telah bermanifestasi sejak kernel Linux versi 5.8, dirilis pada Agustus 2020.

Dilihat dengan cara lain kita dapat mengatakan bahwa itu ada di Debian 11 tetapi itu tidak mempengaruhi kernel dasar di Ubuntu 20.04 LTS, sedangkan untuk kernel RHEL 8.x dan openSUSE/SUSE 15 yang awalnya didasarkan pada cabang-cabang lama, tetapi dimungkinkan bahwa perubahan yang menyebabkan masalah telah ditransfer ke mereka (belum ada data pasti).

Kerentanan ini disebabkan kurangnya inisialisasi nilai "buf->flags" dalam kode fungsi copy_page_to_iter_pipe() dan push_pipe(), meskipun memori tidak dihapus ketika struktur dialokasikan, dan dengan manipulasi tertentu dengan yang tidak disebutkan namanya pipa, "buf->flags" mungkin berisi nilai dari operasi lain. Dengan fitur ini, pengguna lokal yang tidak memiliki hak istimewa dapat mencapai tampilan nilai PIPE_BUF_FLAG_CAN_MERGE di flag, memungkinkan mereka untuk menimpa data di cache halaman hanya dengan menulis data baru ke pipa tanpa nama yang disiapkan secara khusus.

untuk serangan dapat dilakukan, Anda memerlukan file target yang harus dapat dibaca dan karena hak akses tidak diperiksa saat menulis ke pipa, penggantian dapat dilakukan pada cache halaman, bahkan untuk file yang terletak di partisi hanya-baca (misalnya, untuk file c CD-ROM).

Dengan ini, setelah mengganti informasi di cache halaman, proses, saat membaca data dari file, tidak akan menerima data asli, tetapi yang diganti.

Disebutkan itu operasi Pipa Kotor bermuara pada pembuatan pipa tanpa nama dan mengisinya dengan data sewenang-wenang untuk mencapai pengaturan flag PIPE_BUF_FLAG_CAN_MERGE pada semua struktur ring yang terkait dengannya.

Data kemudian dibaca dari pipa, tetapi bendera tetap disetel pada semua contoh struktur pipe_buffer dalam struktur cincin pipe_inode_info. Panggilan ke splice() kemudian dibuat untuk membaca data dari file tujuan ke dalam pipa tanpa nama, mulai dari offset yang diperlukan. Saat menulis data ke pipa yang tidak disebutkan namanya ini, bendera PIPE_BUF_FLAG_CAN_MERGE akan menimpa data di cache halaman alih-alih membuat instance baru dari struktur pipe_buffer.

Akhirnya Jika Anda tertarik untuk mengetahui lebih banyak tentang itu, Detailnya bisa di cek di note asli Di tautan berikut.

Juga, jika Anda tertarik dapat mengikuti atau mengetahui tentang publikasi pembaruan paket di distribusi utama, Anda dapat melakukannya dari halaman ini: DebianSUSEUbuntuRHELFedoraGentooLinux Arch.

Disebutkan bahwa perbaikan kerentanan yang diusulkan tersedia di Kernel Linux versi 5.16.11, 5.15.25 dan 5.10.102 dan perbaikan juga termasuk dalam kernel yang digunakan pada platform Android.


tinggalkan Komentar Anda

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

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  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.