Kerentanan telah dikesan dalam APT yang membolehkan anda mengganti pakej yang boleh dimuat turun

kelemahan

Telah dikenal pasti kelemahan dalam pengurus pakej APT (CVE-2019 3462-), apa membolehkan penyerang memulakan penipuan pakej yang dipasang sama ada penyerang mempunyai kawalan terhadap cermin repositori atau boleh mengganggu lalu lintas transit antara pengguna dan repositori (serangan MITM).

Masalah itu dikenal pasti oleh penyelidik keselamatan Max Justicz, terkenal kerana mengesan kerentanan dalam pengurus pakej APK (Alpine) dan di repositori Packagist, NPM dan RubyGems.

Masalahnya Ini disebabkan oleh pengesahan bidang yang salah dalam kod pemprosesan pengalihan HTTP.

Apa masalahnya?

Kerentanan ini membolehkan penyerang mengganti kandungannya sendiri dalam data yang dihantar dalam sesi HTTP (Debian dan Ubuntu menggunakan HTTP dan bukan HTTPS untuk mengakses repositori, dengan anggapan tanda tangan digital sudah memadai dengan metadata dan ukuran paket yang sepadan.)

Kerentanan yang dikenal pasti membenarkan kekuatan penyerang ganti paket yang dihantar, selepas itu APT akan merasakannya sebagai diterima dari cermin rasmi dan memulakan proses pemasangan.

Melalui penyertaan dalam paket skrip jahat yang dilancarkan semasa pemasangan, penyerang dapat mencapai pelaksanaan kodnya pada sistem dengan hak root.

Untuk memuat turun data dari repositori, APT memulakan proses anak dengan pelaksanaan pengangkutan tertentu dan mengatur interaksi dengan proses ini menggunakan protokol teks sederhana dengan pembahagian perintah dengan baris kosong.

Bagaimana saya mengesan masalahnya?

Inti dari masalahnya ialah pengendali pengangkutan HTTP, setelah menerima respons dari pelayan HTTP dengan tajuk "Lokasi:", ia meminta pengesahan pengalihan dari proses utama.

Memindahkan kandungan tajuk ini sepenuhnya. Kerana kekurangan kebersihan watak khas yang ditransmisikan, penyerang dapat menentukan jeda baris di medan "Lokasi:"

Oleh kerana nilai ini akan didekodekan dan dikirim melalui saluran komunikasi dengan proses utama, penyerang dapat mensimulasikan tindak balas yang berbeza dari pengendali pengangkutan HTTP dan menggantikan blok URI 201 dummy.

Sebagai contoh, jika, ketika meminta paket, penyerang menggantikan tindak balas, penggantian ini akan mengakibatkan pemindahan blok data berikutnya ke proses utama.

Pengiraan hash untuk fail yang dimuat turun ditangani dan proses utamanya hanya memeriksa data ini dengan hash dari pangkalan data pakej yang ditandatangani.

Di antara metadata, penyerang dapat menentukan nilai hash ujian yang dihubungkan dalam pangkalan data dengan pakej yang ditandatangani sebenarnya, tetapi sebenarnya tidak sesuai dengan hash fail yang dipindahkan.

Proses utama akan menerima kod tindak balas yang digantikan oleh serangan, mencari hash dalam pangkalan data dan menganggap bahawa paket yang mempunyai tanda tangan digital yang betul dimuat, walaupun pada kenyataannya nilai bidang dengan hash diganti dalam saluran komunikasi dengan proses utama menggunakan serangan dan fail yang ditentukan dalam metadata yang diganti.

Memuat turun pakej berbahaya dilakukan dengan melampirkan pakej ke fail Release.gpg, semasa pemindahan.

Fail ini mempunyai lokasi yang dapat diramalkan pada sistem fail dan melampirkan pakej pada permulaannya tidak mempengaruhi pengekstrakan tanda tangan digital dari repositori.

Semasa memperoleh data, apt melumpuhkan proses pekerja yang mengkhususkan diri dalam pelbagai protokol yang akan digunakan untuk pemindahan data.

Proses utama kemudian berkomunikasi dengan pekerja ini melalui stdin / stdout untuk memberitahu mereka apa yang hendak dimuat dan di mana meletakkannya di sistem fail menggunakan protokol yang kelihatan seperti HTTP.

Proses utama kemudian akan menyerahkan konfigurasi dan meminta sumber dan proses pekerja akan bertindak balas.

Apabila pelayan HTTP bertindak balas dengan pengalihan, proses pekerja mengembalikan 103 Redirect dan bukannya 201 URI Selesai, dan proses utama menggunakan respons ini untuk mengetahui sumber mana yang akan diminta seterusnya.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.