Phân tích lỗ hổng RCE nghiêm trọng CVE-2026-90970 trên GitLab AI Gateway
GitLab vừa công bố bản vá khẩn cấp cho lỗ hổng CVE-2026-90970, cho phép kẻ tấn công thực thi mã từ xa (RCE) trên các triển khai AI Gateway tự quản lý.

- Mã định danh: CVE-2026-90970 với điểm CVSS 9.9 (Critical).
- Tác động: Cho phép kẻ tấn công đã xác thực thực thi mã từ xa (RCE) thông qua việc vượt qua sandbox của template prompt.
- Phạm vi ảnh hưởng: Các triển khai GitLab AI Gateway tự quản lý (self-hosted) phiên bản 18.1.6 đến 19.4.1.
- Khuyến nghị: Cập nhật ngay lập tức lên các phiên bản 19.2.4, 19.3.2 hoặc 19.4.1.
1. Bối cảnh & Tổng quan
GitLab đã chính thức phát đi cảnh báo bảo mật khẩn cấp liên quan đến một lỗ hổng nghiêm trọng trong thành phần AI Gateway, được định danh là CVE-2026-90970. Với điểm số CVSS 9.9, lỗ hổng này cho phép những kẻ tấn công đã có quyền truy cập vào nền tảng Duo Agent Platform có thể thực thi các lệnh tùy ý trên máy chủ AI Gateway. Đây là một mối đe dọa trực tiếp đến tính toàn vẹn và bảo mật của các hệ thống AI tích hợp trong môi trường doanh nghiệp.
Lỗ hổng này ảnh hưởng trực tiếp đến các triển khai self-hosted (tự quản lý) của GitLab AI Gateway. Các dịch vụ được quản lý trực tiếp bởi GitLab như GitLab.com hay GitLab Dedicated hiện đã được vá lỗi và không yêu cầu người dùng thực hiện thêm bất kỳ thao tác nào. Tuy nhiên, đối với các tổ chức tự vận hành hạ tầng AI Gateway, việc cập nhật là yêu cầu bắt buộc để ngăn chặn nguy cơ bị chiếm quyền điều khiển.
2. Phân tích Kỹ thuật & Chuỗi Khai thác
Nguyên nhân gốc rễ của CVE-2026-90970 nằm ở cơ chế xử lý không an toàn các mẫu prompt tùy chỉnh (custom flow prompt templates). Trong điều kiện bình thường, các mẫu này được xử lý trong một môi trường sandbox nhằm giới hạn quyền hạn và phạm vi thực thi. Tuy nhiên, lỗ hổng logic này cho phép kẻ tấn công vượt qua các rào cản của sandbox.
Cơ chế tấn công (Attack Vector)
- Điều kiện tiên quyết: Kẻ tấn công cần có tài khoản hợp lệ và quyền truy cập vào Duo Agent Platform.
- Kỹ thuật khai thác: Kẻ tấn công gửi một cấu hình flow được chế tạo đặc biệt (specially crafted flow configuration) chứa các payload độc hại.
- Vượt qua Sandbox: Payload này lợi dụng việc thiếu kiểm tra tính hợp lệ của tham số đầu vào để thoát khỏi môi trường cô lập, từ đó đạt được khả năng thực thi lệnh (Remote Code Execution - RCE) trên hệ điều hành máy chủ.
Theo khung MITRE ATT&CK, kỹ thuật này có thể ánh xạ tới T1190 (Exploit Public-Facing Application) và T1059 (Command and Scripting Interpreter). Việc khai thác không yêu cầu sự tương tác của người dùng (User Interaction: None), làm tăng đáng kể mức độ nguy hiểm của lỗ hổng.
3. Bảng thông tin thực thể
| Loại | Giá trị / Chỉ số | Mô tả tác động |
|---|---|---|
| Mã CVE | CVE-2026-90970 | Lỗ hổng RCE nghiêm trọng trong AI Gateway |
| Điểm CVSS | 9.9 (Critical) | Mức độ nghiêm trọng cao nhất |
| Công nghệ | GitLab AI Gateway | Thành phần hỗ trợ tính năng GitLab Duo |
| Phiên bản ảnh hưởng | 18.1.6 - 19.4.1 | Cần cập nhật ngay lập tức |
4. Hướng dẫn Khắc phục & Hardening
Để giảm thiểu rủi ro, quản trị viên cần thực hiện nâng cấp các phiên bản AI Gateway lên các bản vá mới nhất đã được GitLab phát hành. Việc chỉ cập nhật phiên bản GitLab chính là không đủ; bạn cần kiểm tra trực tiếp phiên bản của thành phần AI Gateway.
Các bước cập nhật cho Docker
Đối với các triển khai sử dụng Docker, hãy thực hiện quy trình sau để đảm bảo môi trường được làm sạch và cập nhật:
# Dừng và xóa container hiện tại đang chạy phiên bản cũ
docker stop gitlab-ai-gateway
docker rm gitlab-ai-gateway
# Kéo phiên bản mới nhất đã được vá lỗi
docker pull registry.gitlab.com/gitlab-org/ai-gateway:latest
# Chạy lại container với các biến môi trường cần thiết
docker run -d --name gitlab-ai-gateway [ENVIRONMENT_VARIABLES] registry.gitlab.com/gitlab-org/ai-gateway:latestKhuyến nghị Hardening
- Kiểm soát truy cập: Hạn chế tối đa quyền truy cập vào Duo Agent Platform, chỉ cấp quyền cho các tài khoản thực sự cần thiết.
- Giám sát lưu lượng: Thiết lập quy tắc Firewall để hạn chế lưu lượng outbound không cần thiết từ AI Gateway, chỉ cho phép các kết nối đến các endpoint đã được xác thực.
- Kiểm tra tính toàn vẹn: Đối với môi trường Kubernetes/Helm, hãy sử dụng image digests thay vì tag 'latest' để đảm bảo rằng các node đang chạy đúng phiên bản đã được vá lỗi và tránh bị cache hình ảnh cũ.
Để biết thêm chi tiết về quy trình cập nhật, quản trị viên có thể tham khảo tài liệu chính thức tại GitLab Documentation.
Mạng Lưới An Ninh Mạng & Cộng Đồng
Nhận cảnh báo 0-Day khẩn cấp, phân tích mã độc và tham gia thảo luận kỹ thuật cùng chuyên gia.
Ban biên tập nội dung và phân tích an ninh mạng tại ADSECVN.COM.



