Nghiêm trọng: Lỗ hổng Chaos Mesh cho phép chiếm quyền Kubernetes

Các nhà nghiên cứu bảo mật gần đây đã phát hiện bốn lỗ hổng Chaos Mesh mới, được định danh là CVE-2025-59358, CVE-2025-59359, CVE-2025-59360 và CVE-2025-59361. Những lỗ hổng này ảnh hưởng đến cấu hình mặc định của máy chủ GraphQL trong Chaos Controller Manager, một nền tảng Chaos Engineering mã nguồn mở phổ biến cho Kubernetes. Chi tiết nghiên cứu đã được công bố bởi Jfrog Security Research.
Chi tiết về các lỗ hổng Chaos Mesh: “Chaotic Deputy”
Ba trong số các lỗ hổng này có điểm CVSS 3.1 tối đa là 9.8. Chúng cho phép bất kỳ pod nào trong cụm thực thi các lệnh tùy ý hoặc tiêm lỗi vào các pod khác mà không cần xác thực.
Ngay cả các workload không có đặc quyền cũng có thể khai thác những vấn đề này để đánh cắp service account tokens, leo thang đặc quyền và cuối cùng là chiếm quyền điều khiển toàn bộ cụm.
Các CVE và tác động cụ thể
- CVE-2025-59358: Cho phép truy cập không xác thực vào GraphQL playground và query endpoint. Điều này dẫn đến từ chối dịch vụ (DoS) và tiêm lỗi trái phép.
- CVE-2025-59359, CVE-2025-59360, CVE-2025-59361: Ba lỗ hổng còn lại phát sinh từ việc xây dựng lệnh không an toàn trong ba GraphQL mutations—
cleanTcs,killProcessesvàcleanIptables. Điều này cho phép tiêm lệnh hệ điều hành (OS command injection) vào bất kỳ pod mục tiêu nào.
Các lỗ hổng Chaos Mesh này ảnh hưởng đến các phiên bản Chaos Mesh cũ hơn 2.7.3. Người dùng các dịch vụ quản lý như Azure Chaos Studio for AKS cũng bị ảnh hưởng nếu họ dựa vào các bản phát hành Chaos Mesh bị lỗi.
Cơ chế khai thác và tác động
Để khai thác các lỗ hổng Chaos Mesh được gọi là “Chaotic Deputy”, kẻ tấn công cần có quyền truy cập mạng nội bộ trong cụm (in-cluster network access).
Đây là kịch bản phổ biến trong các môi trường đa người thuê (multi-tenant environments) hoặc các pod đã bị xâm nhập.
Một khi đã có quyền truy cập, việc truy vấn GraphQL endpoint không được bảo vệ trên cổng 10082 sẽ tiết lộ các mutation tiêm lỗi có sẵn.
Kẻ tấn công có thể gọi các lệnh tắt máy hoặc ngắt mạng để gây gián đoạn dịch vụ, hoặc tiêm các lệnh shell để đánh cắp thông tin nhạy cảm (secrets).
Ví dụ, một GraphQL mutation duy nhất có thể tắt pod Kubernetes API server, gây ra tình trạng từ chối dịch vụ trên toàn cụm. Đây là một CVE nghiêm trọng có khả năng gây thiệt hại lớn.
Phát hiện hệ thống bị ảnh hưởng bởi lỗ hổng Chaos Mesh
Việc phát hiện hệ thống có bị ảnh hưởng bởi các lỗ hổng Chaos Mesh này yêu cầu xác minh hình ảnh Chaos Mesh đã triển khai và cổng controller manager.
Chạy lệnh sau để kiểm tra:
kubectl get pods -n chaos-mesh -o jsonpath='{.items[*].spec.containers[*].image}' | grep chaos-mesh
Nếu phiên bản hình ảnh (image version) cũ hơn 2.7.3 và cổng 10082 được phơi bày, cụm Kubernetes của bạn đang có nguy cơ.
Biện pháp giảm thiểu và khắc phục
Biện pháp giảm thiểu được khuyến nghị là nâng cấp ngay lập tức lên Chaos Mesh 2.7.3. Trong phiên bản này, cơ chế xác thực được áp dụng và các lỗi nối lệnh không an toàn đã được sửa chữa.
Đối với các môi trường mà việc nâng cấp chưa khả thi, hãy triển khai lại Chaos Mesh với control server bị vô hiệu hóa:
helm upgrade --install chaos-mesh chaos-mesh/chaos-mesh --namespace=chaos-mesh --set controllerManager.controlServer.enable=false
Thao tác này sẽ vô hiệu hóa máy chủ GraphQL và ngăn chặn các cuộc tiêm lỗi bên ngoài cho đến khi bạn có thể áp dụng bản vá bảo mật chính thức.
Ngoài ra, việc giám sát liên tục các yêu cầu GraphQL bất thường và hạn chế quyền truy cập mạng vào dịch vụ controller cũng giúp giảm thiểu rủi ro đáng kể đối với lỗ hổng Chaos Mesh này.









