Kami menemukan dan melaporkan beberapa kerentanan eskalasi hak istimewa di dalam Docker Desktop untuk Windows:
- Penghapusan file sewenang-wenang yang dapat dimanfaatkan untuk peningkatan hak istimewa penuh: CVE-2022-37326, dan CVE-2022-38730.
- Timpa file sewenang-wenang: CVE-2022-31647 dan CVE-2022-34292.
Kami mematuhi pedoman pengungkapan yang bertanggung jawab, dan Docker menangani pemberitahuan dengan cepat dan efisien.
Anggota DaemonJSON menyimpan nilai path untuk file daemon.json (file konfigurasi daemon Docker), dan anggota Settings adalah kelas yang berisi semua bidang (Lampiran A) yang ada di dalam file daemon JSON.
Pertama-tama mari kita jelaskan mengapa anggota Pengaturan tidak relevan bagi kami. Setelah panggilan ke _windowsDockerDaemon.Start (Gambar 1), ada urutan pemanggilan fungsi di mana argumen pengaturan diteruskan ke tiga fungsi: RewriteOptions, GetServiceEnv, dan TryToStartService (Gambar 2).
Tapi meskipun diteruskan sebagai argumen, itu hanya digunakan dalam metode GetServiceEnv dan hanya untuk bidang Proxy (Gambar 3).
Kami memahami bahwa kami tidak dapat memengaruhi setelan argumen untuk memanipulasi layanan. Kami melanjutkan ke argumen berikutnya yang dikontrol oleh kami dan memeriksa argumen daemonOptions, dan dari fungsi RewriteOptions, kami memahami bahwa itu digunakan sebagai parameter untuk file switch –config di dockerd (lihat cuplikan kode di bawah), yang berarti kami mengontrol pengaturan dockerd.
Untungnya, bidang JSON daemon Docker didokumentasikan di Docker, dan Anda dapat melihat banyak opsi di sana (Lampiran B). Satu hal yang akan Anda perhatikan adalah bahwa ada dua versi terpisah – satu untuk Linux dan satu lagi untuk Windows – yang dapat menimbulkan masalah ketika ada bidang yang seharusnya hanya berfungsi di Linux atau Windows.
selengkapnya : cyberark.com