-
09/04/2020
-
112
-
1.089 bài viết
Lỗ hổng trong Argo CD: Token quyền thấp vẫn có thể truy xuất thông tin nhạy cảm
Argo CD là công cụ GitOps phổ biến giúp tự động triển khai ứng dụng từ Git lên Kubernetes, được nhiều tập đoàn lớn như Google, IBM, Adobe, Red Hat sử dụng. Tuy nhiên, mới đây một lỗ hổng trong hệ thống này (CVE-2025-55190) đã được công bố, ảnh hưởng đến tất cả các phiên bản trước 2.13.0. Với điểm CVSS 10/10, lỗ hổng này có thể cho phép tài khoản quyền thấp truy cập thông tin mật của hệ thống.
Lỗi này cho phép token API có quyền hạn rất thấp (project-level get permissions) truy cập vào các endpoint API của Argo CD và lấy được toàn bộ thông tin đăng nhập của các kho lưu trữ mã nguồn liên quan đến dự án, bao gồm username và password.
Thông thường, các token ở cấp project-level được dùng để quản lý ứng dụng cơ bản, không được phép truy cập thông tin nhạy cảm như credentials. Tuy nhiên, lỗi này lại bỏ qua cơ chế cách ly, cho phép người dùng có quyền đọc (get) cũng có thể gọi API /project-details và lấy được credentials của repository.
Dù lỗ hổng không thể bị khai thác bởi người dùng không đăng nhập (unauthenticated), nhưng nếu hacker hoặc người dùng nội bộ có được một token hợp lệ dù chỉ có quyền thấp, họ vẫn có thể:
Mức độ nguy hiểm cao ở chỗ:
Lỗi này cho phép token API có quyền hạn rất thấp (project-level get permissions) truy cập vào các endpoint API của Argo CD và lấy được toàn bộ thông tin đăng nhập của các kho lưu trữ mã nguồn liên quan đến dự án, bao gồm username và password.
Thông thường, các token ở cấp project-level được dùng để quản lý ứng dụng cơ bản, không được phép truy cập thông tin nhạy cảm như credentials. Tuy nhiên, lỗi này lại bỏ qua cơ chế cách ly, cho phép người dùng có quyền đọc (get) cũng có thể gọi API /project-details và lấy được credentials của repository.
Dù lỗ hổng không thể bị khai thác bởi người dùng không đăng nhập (unauthenticated), nhưng nếu hacker hoặc người dùng nội bộ có được một token hợp lệ dù chỉ có quyền thấp, họ vẫn có thể:
- Lấy thông tin truy cập repository mã nguồn nội bộ.
- Clone mã nguồn, phân tích hoặc chỉnh sửa.
- Cài mã độc (malicious manifest).
- Tấn công chuỗi cung ứng hoặc xâm nhập các hệ thống khác có dùng chung thông tin xác thực.
Mức độ nguy hiểm cao ở chỗ:
- Token quyền thấp vốn dĩ rất phổ biến và dễ bị rò rỉ.
- Không cần quyền admin cũng có thể lấy được thông tin nhạy cảm.
- Có thể bị khai thác từ bên trong hoặc bên ngoài nếu token rơi vào tay kẻ xấu.
- Argo CD 3.1.2
- Argo CD 3.0.14
- Argo CD 2.14.16
- Argo CD 2.13.9
- Cập nhật lên phiên bản đã vá lỗi càng sớm càng tốt.
- Rà soát toàn bộ token API đang tồn tại, đặc biệt là các token project-level.
- Giới hạn quyền truy cập của token, theo nguyên tắc "ít quyền nhất" (least privilege).
- Giám sát API logs để phát hiện các cuộc gọi bất thường đến endpoint /project-details.
- Xoá token cũ không còn sử dụng, hoặc tái tạo token mới an toàn hơn.
- Kiểm tra các repository để đảm bảo không bị truy cập trái phép.
WhiteHat