[Critical] Chuỗi lỗ hổng nghiêm trọng IngressNightmare của Ingress NGINX Controller
1. Tổng quan
Vào ngày 24 tháng 3 năm 2025, một loạt các lỗ hổng nghiêm trọng được gọi chung là "IngressNightmare" đã được công bố, ảnh hưởng đến Ingress NGINX Controller cho Kubernetes – một opensource Ingress control thường được sử dụng rộng rãi trong Kubernetes. Những lỗ hổng này có thể cho phép kẻ tấn công thực thi mã từ xa hay truy cập vào Secrets mà không cần xác thực, có thể dẫn đến chiếm quyền cụm K8S.
Các lỗ hổng này được cho là đe dọa nghiêm trọng đến hơn 6.500 cụm Kubernetes đang public thành phần này trên internet. System admin cần rà soát các hệ thống đang quản lý để giảm thiểu rủi ro.
Chi tiết các lỗ hổng:
- CVE-2025-24513 (CVSS 4.8 - Medium): Lỗ hổng kiểm tra đầu vào không đúng cách dẫn đến tấn công path traversal (duyệt thư mục) trong container. Lỗ hổng này có thể bị khai thác dẫn đến từ chối dịch vụ (DoS), hoặc làm lộ một số Secrets khi kết hợp với các lỗ hổng khác.
- CVE-2025-24514 (CVSS 8.8 - High): Lỗ hổng cho phép sử dụng annotation auth-url để chèn cấu hình độc hại vào NGINX, dẫn đến thực thi mã tùy ý trong ngữ cảnh của ingress-nginx controller và lộ các Secrets mà controller có thể truy cập.
- CVE-2025-1097 (CVSS 8.8 - High): Lỗ hổng cho phép sử dụng annotation auth-tls-match-cn để chèn cấu hình độc hại vào NGINX, dẫn đến thực thi mã tùy ý và lộ các Secrets mà controller có thể truy cập.
- CVE-2025-1098 (CVSS 8.8 - High): Lỗ hổng cho phép sử dụng các annotation mirror-target và mirror-host để chèn cấu hình độc hại vào NGINX, dẫn đến thực thi mã tùy ý và lộ các Secrets mà controller có thể truy cập.
- CVE-2025-1974 (CVSS 9.8 - Critical): Trong một số điều kiện nhất định, lỗ hổng cho phép kẻ tấn công không xác thực với quyền truy cập vào mạng pod có thể thực thi mã tùy ý trong ngữ cảnh của ingress-nginx controller và dẫn đến lộ các Secrets mà controller có thể truy cập.
Lưu ý: Trong cấu hình mặc định, controller có thể truy cập đến tất cả Secrets trong toàn bộ cluster.
2. Ảnh hưởng:
Khai thác các lỗ hổng này cho phép kẻ tấn công có thể truy cập trái phép vào tất cả các Secrets được lưu trữ trên tất cả các namespaces, từ đó có thể dẫn đến chiếm quyền kiểm soát hoàn toàn cluster K8S. Đặc biệt, lỗ hổng nghiêm trọng nhất CVE-2025-1974 ảnh hưởng đến thành phần admission controller của Ingress NGINX Controller, cho phép thực thi mã từ xa thông qua việc gửi một đối tượng Ingress độc hại trực tiếp đến admission controller.
Hiện tại đã có PoC khai thác công bố trên Github.
Các phiên bản bị ảnh hưởng: Ingress NGINX Controller phiên bản 1.12.0; 1.11.4 và thấp hơn. System admin có thể chạy câu lệnh sau để kiểm tra phiên bản ingress đang chạy:
kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx
3. Biện pháp khắc phục:
- Cập nhật ngay lập tức: Nâng cấp lên các phiên bản Ingress NGINX Controller 1.12.1, 1.11.5 hoặc 1.10.7 để khắc phục các lỗ hổng này.
- Hạn chế truy cập: Đảm bảo rằng endpoint của admission webhook không được công khai ra bên ngoài. Giới hạn chỉ cho phép Kubernetes API Server truy cập vào admission controller.
- Trong trường hợp không thể cập nhật ngay lập tức: Xem xét tạm thời vô hiệu hoá admission controller để giảm thiểu bề mặt tấn công trên các cluster không quan trọng như dev/test. Không khuyến nghị thực hiện biện pháp này vì admission controller cung cấp các biện pháp bảo vệ quan trọng cho cấu hình Ingress. Lưu ý bật lại sau khi hoàn thành nâng cấp.
Tham khảo:
- https://thehackernews.com/2025/03/critical-ingress-nginx-controller.html
- https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities
- https://www.rapid7.com/blog/post/2025/03/25/etr-multiple-vulnerabilities-in-ingress-nginx-controller-for-kubernetes/
- https://kubernetes.io/blog/2025/03/24/ingress-nginx-cve-2025-1974/