Kerentanan dalam runc yang memungkinkan keluarnya container Docker dan Kubernetes

Dalam toolkit runc untuk menjalankan container terisolasi yang digunakan di Docker dan Kubernetes, ditemukan kerentanan CVE-2024-21626, yang memungkinkan akses ke sistem file lingkungan host dari container terisolasi. Selama serangan, penyerang dapat menimpa beberapa file yang dapat dieksekusi di lingkungan host dan dengan demikian mengeksekusi kodenya di luar wadah. Di runtime crun dan youki yang menggunakan runc, begitu juga di LXC, masalah tidak muncul. Kerentanan telah diperbaiki di runc 1.1.12.

Saat menggunakan alat Docker atau Kubernetes, serangan dapat dilakukan dengan menyiapkan image container yang dirancang khusus, setelah instalasi dan peluncuran FS eksternal dapat diakses dari container. Saat menggunakan Docker, dimungkinkan untuk beroperasi melalui Dockerfile yang dirancang khusus. Kerentanan juga dapat dieksploitasi jika proses diluncurkan dalam sebuah wadah menggunakan perintah “runc exec” dengan mengikat direktori kerja ke namespace lingkungan host.

Kerentanan ini disebabkan oleh kebocoran deskriptor file internal. Sebelum menjalankan kode di dalam container, runc menutup semua deskriptor file menggunakan flag O_CLOEXEC. Namun, eksekusi setcwd() selanjutnya membiarkan deskriptor file terbuka yang menunjuk ke direktori kerja dan tetap dapat diakses setelah container dimulai. Beberapa skenario dasar untuk menyerang lingkungan host menggunakan deskriptor file yang tersisa telah diusulkan.

Misalnya, penyerang dapat menentukan parameter process.cwd dalam gambar kontainer yang menunjuk ke “/proc/self/fd/7/”, yang akan mengakibatkan pengikatan ke proses pid1 di direktori kerja kontainer, yang terletak di lingkungan host. ruang pemasangan. Jadi, dalam image container, Anda dapat mengonfigurasi peluncuran "/proc/self/fd/7/../../../bin/bash" dan, melalui eksekusi skrip shell, menimpa konten “/proc/self/exe”, yang mengacu pada salinan /bin/bash host.

Varian serangan lainnya memungkinkan penyerang yang dibatasi dalam suatu wadah untuk mendapatkan akses ke direktori lingkungan host jika proses istimewa berjalan dalam wadah yang ditentukan menggunakan perintah runc exec dengan opsi --cwd. Penyerang dapat mengganti jalur proses yang diluncurkan dengan tautan simbolis yang menunjuk ke “/proc/self/fd/7/” dan mencapai pembukaan “/proc/$exec_pid/cwd” untuk mengakses FS di sisi host. Penyerang juga dapat menimpa file yang dapat dieksekusi di sisi lingkungan host dengan mengatur peluncuran file yang dapat dieksekusi dari lingkungan host (“/proc/self/fd/7/../../../bin/ bash”) dan kemudian menimpa file “ /proc/$pid/exe", yang mengacu pada file yang sedang berjalan.

Selain itu, lima kerentanan lainnya telah diidentifikasi dalam komponen toolkit Docker:

  • CVE-2024-23651 adalah kondisi balapan dalam paket BuildKit yang digunakan oleh Docker untuk mengonversi kode sumber menjadi artefak build. Kerentanan ini disebabkan oleh penggunaan satu titik pemasangan umum dengan cache (“-mount=type=cache,source=”) dalam tahapan pembangunan yang dijalankan secara bersamaan, yang memungkinkan, saat memproses Dockerfile yang dirancang khusus di BuildKit, akses ke file di lingkungan host dari wadah build. Kerentanan telah diperbaiki di BuildKit 0.12.5.
  • CVE-2024-23652 Kesalahan dalam menghapus file kosong yang dibuat untuk titik pemasangan saat menggunakan opsi "--mount" memungkinkan penghapusan file di luar wadah saat memproses Dockerfile yang dibuat khusus. Kerentanan telah diperbaiki di BuildKit 0.12.5.
  • CVE-2024-23653 Cacat dalam implementasi API di BuildKit memungkinkan eksekusi kontainer terjadi dengan hak istimewa yang lebih tinggi, terlepas dari status pengaturan security.insecure. Kerentanan telah diperbaiki di BuildKit 0.12.5.
  • CVE-2024-23650 Klien atau frontend BuildKit yang berbahaya dapat menyebabkan proses BuildKit di latar belakang terhenti. Kerentanan telah diperbaiki di BuildKit 0.12.5.
  • CVE-2024-24557 adalah kemungkinan keracunan cache di Moby, sebuah komponen untuk membangun sistem isolasi kontainer khusus. Dengan memproses gambar kontainer yang dirancang khusus, Anda dapat menyimpan data dalam cache yang dapat digunakan dalam langkah-langkah pembangunan berikutnya. Kerentanan telah diperbaiki di Moby 25.0.2 dan 24.0.9.

Sumber: opennet.ru

Beli hosting yang andal untuk situs dengan perlindungan DDoS, server VPS VDS 🔥 Beli hosting website andal dengan perlindungan DDoS, server VPS VDS | ProHoster