Kerentanan CVE-2020-8554 diungkapkan oleh komunitas Kubernetes. Penyerang dapat mengeksploitasi kerentanan ini untuk melakukan serangan man-in-the-middle (MITM) dengan memanfaatkan load balancer atau alamat IP eksternal. Penyerang dapat membuat Layanan dan mengatur bidang status atau bidang lainnya untuk mencegat lalu lintas dari pod yang ditargetkan dalam kluster multi-penyewa.
Skor Common Vulnerability Scoring System (CVSS) untuk kerentanan ini adalah 3.0. Tingkat keparahan adalah sedang.
Ruang lingkup dampak
Semua versi kluster Kubernetes terpengaruh. Kerentanan ini disebabkan oleh cacat keamanan dalam desain Kubernetes. Untuk informasi lebih lanjut tentang rencana perbaikan, lihat masalah 97110.
Jika kluster ACK Anda merupakan kluster multi-penyewa atau menjalankan aplikasi yang diterapkan oleh pengguna tidak tepercaya, kluster Anda rentan terhadap serangan. Untuk memeriksa apakah kluster Anda sedang diserang, tinjau log audit server API dan cari peristiwa pembaruan pada bidang status Layanan di kluster Anda. Untuk informasi lebih lanjut, lihat (Opsional) Langkah 3: Lihat Data Log Rinci.
Deskripsi
- Buat Layanan tipe ClusterIP dan atur bidang externalIP dalam parameter spec Layanan ke alamat IP yang dituju. Dengan cara ini, lalu lintas yang dikirim ke alamat IP tersebut dicegat dan diteruskan ke Layanan yang dibuat.
- Atur bidang spec.loadBalancerIP dan modifikasi bidang status.loadBalancer.ingress.ip dari Layanan tipe LoadBalancer. Dengan cara ini, lalu lintas yang dikirim ke alamat IP asli dicegat dan diteruskan ke alamat IP yang dimodifikasi.
Pencegahan dan mitigasi
- Batasi penggunaan alamat IP eksternal:
- Gunakan admission webhook untuk mengotentikasi dan mengotorisasi penggunaan alamat IP eksternal. Untuk informasi lebih lanjut tentang kode sumber dan penerapan admission webhook yang disediakan oleh Kubernetes, lihat externalip-webhook.
- Gunakan Open Policy Agent (OPA) Gatekeeper untuk membatasi rentang alamat IP eksternal yang dapat digunakan. Untuk informasi lebih lanjut, lihat gatekeeper. Untuk informasi lebih lanjut tentang template sampel ConstraintTemplate dan Constraint, lihat externalip.
- Batasi penggunaan alamat IP oleh Layanan tipe LoadBalancer:
- Kurangi izin pada tingkat minimum untuk memperbarui bidang status Layanan.
- Anda juga dapat menggunakan admission webhook atau OPA Gatekeeper untuk membatasi alamat IP eksternal yang dapat digunakan oleh Layanan tipe LoadBalancer.