
Lỗ hổng repo-server Argo CD chưa vá có thể dẫn tới chiếm quyền Kubernetes
"Researchers disclosed an unpatched Argo CD repo-server flaw that allows an unauthenticated attacker to execute code if they can reach the internal gRPC service. In common Helm-based deployments where network policies are disabled by default, the issue can be chained to poison Redis-backed deployment data and achieve Kubernetes cluster takeover; no CVE or fix is currently available."
Nguy cơ cao do thực thi mã từ yêu cầu gRPC không xác thực và có thể dẫn tới chiếm quyền toàn cụm Kubernetes thông qua chuỗi tấn công Redis–automatic sync.
Có thể gây gián đoạn triển khai và ảnh hưởng nghiêm trọng tới tính toàn vẹn CI/CD khi Argo CD tự động đồng bộ và triển khai workload do kẻ tấn công cung cấp.
Các nhà nghiên cứu từ Synacktiv công bố một lỗ hổng chưa được vá trong thành phần Argo CD repo-server. Theo báo cáo, nếu kẻ tấn công chạm tới cổng gRPC nội bộ của repo-server, họ có thể gửi yêu cầu chế tạo sẵn để thực thi mã mà không cần xác thực. Hiện không có CVE được nêu và cũng chưa có bản khắc phục.
Điểm đáng chú ý là nhiều triển khai Argo CD theo Helm thường tắt network policies theo mặc định (chart đặt networkPolicy.create=false). Khi đó, nếu kẻ tấn công chiếm được một pod trong cụm, họ có thể truy cập repo-server và kích hoạt chuỗi tấn công.
Synacktiv mô tả thêm bước leo thang: sau khi có quyền thực thi trên repo-server, kẻ tấn công có thể đọc mật khẩu Redis từ biến môi trường, kết nối tới Redis cache của Argo CD và làm nhiễm dữ liệu triển khai. Ở lần automatic sync tiếp theo, Argo CD có thể triển khai workload do kẻ tấn công cung cấp.
Khuyến nghị: coi mạng nội bộ là không tin cậy cho tới khi có bản vá; bật Kubernetes network policies để chỉ cho phép các component của Argo CD truy cập repo-server và Redis. Kiểm tra bằng kubectl get networkpolicy -A và đảm bảo các policy cho repo-server/Redis không bị thiếu.