Kerentanan dalam runc yang membolehkan melarikan diri dari bekas Docker dan Kubernetes

Dalam kit alat runc untuk menjalankan bekas terpencil yang digunakan dalam Docker dan Kubernetes, CVE-2024-21626 kerentanan ditemui, yang membenarkan akses kepada sistem fail persekitaran hos daripada bekas terpencil. Semasa serangan, penyerang boleh menulis ganti beberapa fail boleh laku dalam persekitaran hos dan dengan itu mencapai pelaksanaan kodnya di luar bekas. Dalam runtime crun dan youki, yang menggunakan runc, serta dalam LXC, masalah tidak muncul. Kerentanan telah diperbaiki dalam runc 1.1.12.

Apabila menggunakan alat Docker atau Kubernetes, serangan boleh dilakukan dengan menyediakan imej kontena yang direka khas, selepas pemasangan dan pelancaran yang mana FS luaran boleh diakses daripada bekas. Apabila menggunakan Docker, adalah mungkin untuk beroperasi melalui Dockerfile yang direka khas. Kerentanan juga boleh dieksploitasi jika proses dilancarkan dalam bekas menggunakan arahan "runc exec" dengan mengikat direktori kerja ke ruang nama persekitaran hos.

Kerentanan ini disebabkan oleh kebocoran deskriptor fail dalaman. Sebelum menjalankan kod di dalam bekas, runc menutup semua deskriptor fail menggunakan bendera O_CLOEXEC. Walau bagaimanapun, pelaksanaan setcwd() seterusnya meninggalkan deskriptor fail terbuka yang menghala ke direktori kerja dan kekal boleh diakses selepas bekas dimulakan. Beberapa senario asas telah dicadangkan untuk menyerang persekitaran hos menggunakan deskriptor fail yang tinggal.

Sebagai contoh, penyerang boleh menentukan parameter process.cwd dalam imej bekas yang menunjuk kepada "/proc/self/fd/7/", yang akan mengakibatkan pengikatan untuk memproses pid1 dalam direktori kerja kontena, yang terletak dalam persekitaran hos lekapkan ruang. Oleh itu, dalam imej bekas, anda boleh mengkonfigurasi pelancaran "/proc/self/fd/7/../../../bin/bash" dan, melalui pelaksanaan skrip shell, tulis ganti kandungan “/proc/self/exe”, yang merujuk kepada salinan hos /bin/bash.

Varian serangan lain membenarkan penyerang dihadkan dalam bekas untuk mendapatkan akses kepada direktori persekitaran hos jika proses istimewa berjalan dalam bekas yang ditentukan menggunakan perintah "runc exec" dengan pilihan "--cwd". Penyerang boleh menggantikan laluan proses yang dilancarkan dengan pautan simbolik yang menghala ke “/proc/self/fd/7/” dan mencapai pembukaan “/proc/$exec_pid/cwd” untuk mengakses FS di bahagian hos. Penyerang juga boleh mencapai penggantian fail boleh laku di sisi persekitaran hos dengan mengatur pelancaran fail boleh laku daripada persekitaran hos (“/proc/self/fd/7/../../../bin/ bash") dan kemudian menulis ganti fail " /proc/$pid/exe", yang merujuk kepada fail yang sedang berjalan.

Di samping itu, lima lagi kelemahan telah dikenal pasti dalam komponen kit alat Docker:

  • CVE-2024-23651 ialah keadaan perlumbaan dalam pakej BuildKit yang digunakan oleh Docker untuk menukar kod sumber kepada artifak binaan. Kerentanan disebabkan oleh penggunaan satu titik pelekap biasa dengan cache (“-mount=type=cache,source=”) dalam peringkat binaan yang dilaksanakan serentak, yang membolehkan, apabila memproses Dockerfile yang direka khas dalam BuildKit, akses kepada fail dalam persekitaran hos daripada bekas binaan. Kerentanan diperbaiki dalam BuildKit 0.12.5.
  • CVE-2024-23652 Ralat dalam memadam fail kosong yang dibuat untuk titik pelekap apabila menggunakan pilihan "--mount" membenarkan pemadaman fail di luar bekas apabila memproses Fail Docker yang dibuat khas. Kerentanan diperbaiki dalam BuildKit 0.12.5.
  • CVE-2024-23653 Cacat dalam pelaksanaan API dalam BuildKit membolehkan pelaksanaan kontena berlaku dengan keistimewaan yang tinggi, tanpa mengira keadaan tetapan security.insecure. Kerentanan diperbaiki dalam BuildKit 0.12.5.
  • CVE-2024-23650 Pelanggan atau bahagian hadapan BuildKit yang berniat jahat boleh menyebabkan proses BuildKit latar belakang ranap. Kerentanan diperbaiki dalam BuildKit 0.12.5.
  • CVE-2024-24557 ialah kemungkinan keracunan cache dalam Moby, komponen untuk membina sistem pengasingan kontena khusus. Dengan memproses imej bekas yang direka khas, anda boleh cache data yang boleh digunakan dalam langkah binaan seterusnya. Kerentanan telah diperbaiki dalam Moby 25.0.2 dan 24.0.9.

Sumber: opennet.ru

Beli pengehosan yang boleh dipercayai untuk tapak dengan perlindungan DDoS, pelayan VPS VDS 🔥 Beli pengehosan laman web yang boleh dipercayai dengan perlindungan DDoS, pelayan VPS VDS | ProHoster