This is the multi-page printable view of this section. Click here to print.
Kubernetes Blog
Ingress-nginx CVE-2025-1974: Yang Perlu Kamu Ketahui
Hari ini, pengelola ingress-nginx telah merilis patch untuk sejumlah kerentanan kritis yang dapat mempermudah penyerang untuk mengambil alih kluster Kubernetes kamu. Jika kamu termasuk di antara lebih dari 40% administrator Kubernetes yang menggunakan ingress-nginx, kamu harus segera mengambil tindakan untuk melindungi pengguna dan data kamu.
Latar Belakang
Ingress adalah fitur tradisional Kubernetes untuk mengekspos Pod workload kamu ke dunia luar agar dapat digunakan. Dengan cara yang tidak bergantung pada implementasi tertentu, pengguna Kubernetes dapat mendefinisikan bagaimana aplikasi mereka harus tersedia di jaringan. Kemudian, sebuah ingress controller menggunakan definisi tersebut untuk mengatur sumber daya lokal atau cloud sesuai dengan situasi dan kebutuhan pengguna.
Tersedia berbagai ingress controller untuk memenuhi kebutuhan pengguna dari penyedia cloud atau merek load balancer yang berbeda. Ingress-nginx adalah ingress controller berbasis perangkat lunak yang disediakan oleh proyek Kubernetes. Karena fleksibilitas dan kemudahan penggunaannya, ingress-nginx cukup populer: digunakan di lebih dari 40% kluster Kubernetes!
Ingress-nginx menerjemahkan kebutuhan dari objek Ingress menjadi konfigurasi untuk nginx, sebuah daemon web server open source yang kuat. Kemudian, nginx menggunakan konfigurasi tersebut untuk menerima dan merutekan permintaan ke berbagai aplikasi yang berjalan di dalam kluster Kubernetes. Penanganan parameter konfigurasi nginx yang tepat sangat penting, karena ingress-nginx perlu memberikan fleksibilitas yang signifikan kepada pengguna sambil mencegah mereka secara tidak sengaja atau sengaja memanipulasi nginx untuk melakukan hal-hal yang tidak seharusnya.
Kerentanan yang Ditambal Hari Ini
Empat dari kerentanan ingress-nginx yang diumumkan hari ini adalah perbaikan terhadap cara ingress-nginx menangani bagian tertentu dari konfigurasi nginx. Tanpa perbaikan ini, sebuah objek Ingress yang dirancang khusus dapat menyebabkan nginx berperilaku tidak semestinya, termasuk mengungkapkan nilai Secrets yang dapat diakses oleh ingress-nginx. Secara default, ingress-nginx memiliki akses ke semua Secrets di seluruh kluster, sehingga hal ini sering kali dapat menyebabkan pengambilalihan kluster secara penuh oleh pengguna atau entitas yang memiliki izin untuk membuat Ingress.
Kerentanan paling serius hari ini, CVE-2025-1974, yang diberi nilai 9.8 CVSS, memungkinkan apa pun di jaringan Pod untuk mengeksploitasi kerentanan injeksi konfigurasi melalui fitur Validating Admission Controller dari ingress-nginx. Hal ini membuat kerentanan tersebut jauh lebih berbahaya: biasanya seseorang perlu dapat membuat objek Ingress di kluster, yang merupakan tindakan yang cukup berhak. Ketika digabungkan dengan kerentanan lainnya hari ini, CVE-2025-1974 berarti bahwa apa pun di jaringan Pod memiliki peluang besar untuk mengambil alih kluster Kubernetes kamu, tanpa kredensial atau akses administratif yang diperlukan. Dalam banyak skenario umum, jaringan Pod dapat diakses oleh semua workload di VPC cloud kamu, atau bahkan siapa pun yang terhubung ke jaringan perusahaan kamu! Ini adalah situasi yang sangat serius.
Hari ini, kami telah merilis ingress-nginx v1.12.1 dan v1.11.5, yang memiliki perbaikan untuk semua lima kerentanan ini.
Langkah kamu Selanjutnya
Pertama, tentukan apakah kluster kamu menggunakan ingress-nginx. Dalam banyak kasus, kamu dapat memeriksanya dengan menjalankan kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx
dengan izin administrator kluster.
Jika kamu menggunakan ingress-nginx, buat rencana untuk memperbaiki kerentanan ini segera.
Solusi terbaik dan termudah adalah memperbarui ke rilis patch baru dari ingress-nginx. Semua lima kerentanan hari ini diperbaiki dengan menginstal patch yang dirilis hari ini.
Jika kamu tidak dapat memperbarui segera, kamu dapat secara signifikan mengurangi risiko dengan mematikan fitur Validating Admission Controller dari ingress-nginx.
- Jika kamu menginstal ingress-nginx menggunakan Helm
- Instal ulang, dengan mengatur nilai Helm
controller.admissionWebhooks.enabled=false
- Instal ulang, dengan mengatur nilai Helm
- Jika kamu menginstal ingress-nginx secara manual
- hapus ValidatingWebhookConfiguration bernama
ingress-nginx-admission
- edit Deployment atau Daemonset
ingress-nginx-controller
, hapus--validating-webhook
dari daftar argumen kontainer controller
- hapus ValidatingWebhookConfiguration bernama
Jika kamu mematikan fitur Validating Admission Controller sebagai mitigasi untuk CVE-2025-1974, ingatlah untuk mengaktifkannya kembali setelah kamu memperbarui. Fitur ini memberikan peningkatan kualitas hidup yang penting bagi pengguna kamu, dengan memperingatkan mereka tentang konfigurasi Ingress yang salah sebelum dapat diterapkan.
Kesimpulan, Terima Kasih, dan Bacaan Lebih Lanjut
Kerentanan ingress-nginx yang diumumkan hari ini, termasuk CVE-2025-1974, menghadirkan risiko serius bagi banyak pengguna Kubernetes dan data mereka. Jika kamu menggunakan ingress-nginx, kamu harus segera mengambil tindakan untuk menjaga keamanan kamu.
Terima kasih kepada Nir Ohfeld, Sagi Tzadik, Ronen Shustin, dan Hillai Ben-Sasson dari Wiz atas pengungkapan kerentanan ini secara bertanggung jawab, serta atas kerja sama mereka dengan anggota SRC Kubernetes dan pengelola ingress-nginx (Marco Ebert dan James Strong) untuk memastikan kami memperbaikinya secara efektif.
Untuk informasi lebih lanjut tentang pemeliharaan dan masa depan ingress-nginx, silakan lihat isu GitHub ini dan/atau hadiri presentasi James dan Marco di KubeCon/CloudNativeCon EU 2025.
Untuk informasi lebih lanjut tentang kerentanan spesifik yang dibahas dalam artikel ini, silakan lihat isu GitHub yang sesuai: CVE-2025-24513, CVE-2025-24514, CVE-2025-1097, CVE-2025-1098, atau CVE-2025-1974