GitLab vá lỗ hổng nghiêm trọng trên AI Gateway cho phép thực thi mã từ xa
GitLab đã phát hành các bản vá khẩn cấp cho CVE-2026-90970, một lỗ hổng nghiêm trọng trong các AI Gateway tự lưu trữ (self-hosted), cho phép thực thi lệnh thông qua các mẫu prompt được tạo thủ công.
Được dịch tự động từ bản gốc tiếng Anh.
GitLab đã ban hành bản vá khẩn cấp cho một lỗ hổng bảo mật nghiêm trọng trong phần mềm AI Gateway của mình, được đánh giá 9.9 trên thang điểm CVSS. Lỗ hổng này, được theo dõi dưới mã CVE-2026-90970, cho phép người dùng đã xác thực với quyền truy cập cụ thể vào nền tảng thực thi các lệnh tùy ý trên các phiên bản gateway tự lưu trữ. Công ty đã công bố vấn đề này vào ngày 2 tháng 10 năm 2026, kêu gọi cập nhật ngay lập tức cho các triển khai bị ảnh hưởng.
Chuyện gì đã xảy ra
Lỗ hổng nằm trong AI Gateway, một thành phần kết nối các phiên bản GitLab với các mô hình AI bên ngoài. Trong khi GitLab quản lý và bảo mật dịch vụ này cho khách hàng trên GitLab.com và GitLab Dedicated, các tổ chức chọn tự lưu trữ gateway riêng phải chịu trách nhiệm áp dụng bản vá. Tùy chọn tự lưu trữ này thường được các doanh nghiệp sử dụng để giữ dữ liệu yêu cầu và phản hồi AI trong cơ sở hạ tầng nội bộ vì lý do tuân thủ hoặc quyền riêng tư.
GitLab xếp hạng mức độ nghiêm trọng là 'critical' (nghiêm trọng) do tác động tiềm tàng. Một cuộc tấn công thành công có thể cho phép kẻ tấn công chạy các lệnh trực tiếp trên máy chủ lưu trữ gateway. Công ty tuyên bố rằng họ đã bảo mật các phiên bản được lưu trữ bởi chính họ trước khi công bố rộng rãi. Tuy nhiên, khách hàng tự quản lý (self-managed) được khuyến nghị cập nhật ngay lập tức sau khi nhận hướng dẫn riêng tư trước khi có thông báo công khai. Không có dấu hiệu nào cho thấy lỗ hổng đã bị khai thác trong thực tế; Cơ quan An ninh mạng và An toàn Hạ tầng Hoa Kỳ (CISA) đã liệt kê trạng thái khai thác là "none" (không có) trong đánh giá được thêm vào ngày 2 tháng 10.
Cách thức hoạt động
Nguyên nhân gốc rễ của lỗ hổng nằm ở việc xử lý mẫu prompt (prompt template) trong các luồng tùy chỉnh (custom flows) trên Duo Agent Platform. Các luồng tùy chỉnh là quy trình làm việc dựa trên AI mà người dùng tạo ra để tự động hóa các tác vụ nhiều bước. Theo GitLab, một người dùng đã đăng nhập với quyền truy cập vào Duo Agent Platform có thể tạo ra một cấu hình luồng cụ thể để thoát khỏi sandbox của mẫu prompt. Cơ chế thoát này vượt qua các ranh giới bảo mật nhằm cô lập đầu vào của người dùng khỏi các thao tác cấp hệ thống.
Sau khi thoát khỏi sandbox, kẻ tấn công có thể đạt được khả năng thực thi lệnh tùy ý trên máy chủ gateway. Điều này đặc biệt nguy hiểm vì các gateway tự lưu trữ lưu trữ các thông tin xác thực nhạy cảm, bao gồm khóa ký cho JSON Web Tokens (JWT). Các khóa này phải được coi là bí mật có giá trị cao, vì chúng xác thực giao tiếp giữa phiên bản GitLab và gateway. Ngoài ra, gateway duy trì kết nối với cả phiên bản GitLab nội bộ và các nhà cung cấp mô hình AI bên ngoài, có thể tạo ra một điểm nhảy (pivot point) cho các chuyển động ngang (lateral movement) sâu hơn nếu bị xâm phạm. Loại lỗ hổng được xác định là CWE-1336, liên quan đến việc trung hòa không đúng cách các yếu tố đặc biệt được sử dụng trong engine mẫu.
Chi tiết chính
- Mã định danh CVE: CVE-2026-90970 với điểm CVSS là 9.9/10.
- Thành phần bị ảnh hưởng: Các cài đặt GitLab AI Gateway tự lưu trữ.
- Điều kiện tiên quyết: Kẻ tấn công phải là người dùng đã đăng nhập với quyền truy cập Duo Agent Platform.
- Phiên bản đã sửa lỗi: Các phiên bản Gateway 19.2.4, 19.3.2 và 19.4.1.
- Phiên bản không hỗ trợ: Không có bản vá cho các phiên bản gateway cũ hơn 19.2.4, khiến các phiên bản từ 18.1.6 đến 19.1 vẫn dễ bị tổn thương.
- Người báo cáo: Lỗ hổng được báo cáo bởi người dùng HackerOne invisiblemeerkat.
Tại sao điều này quan trọng
Đối với các nhóm kỹ thuật vận hành các phiên bản GitLab tự lưu trữ, lỗ hổng này đại diện cho một rủi ro đáng kể đối với tính toàn vẹn của cơ sở hạ tầng. Khả năng thực thi lệnh tùy ý trên một máy chủ chứa các khóa ký JWT và kết nối với các công cụ phát triển cốt lõi là một mối đe dọa nghiêm trọng. Khác với nhiều lỗ hổng đòi hỏi chuỗi tấn công phức tạp hoặc quyền quản trị viên đặc quyền, lỗ hổng này có thể được kích hoạt bởi bất kỳ người dùng nào có quyền trên Duo Agent Platform, vốn có thể bao gồm một tập hợp rộng lớn các nhà phát triển chứ không chỉ là quản trị viên hệ thống.
Sự tái diễn của các lỗ hổng tương tự nhấn mạnh một thách thức dai dẳng trong việc tích hợp AI tạo sinh vào các môi trường phát triển an toàn. Vào tháng 2 năm 2026, GitLab đã vá một lỗ hổng gateway nghiêm trọng khác, CVE-2026-1868, cũng cho phép thực thi mã thông qua các định nghĩa luồng được tạo thủ công và chia sẻ cùng phân loại CWE-1336. Mô hình này gợi ý rằng injection mẫu (template injection) vẫn là một vấn đề khó giải quyết trong các engine quy trình làm việc AI. Các nhóm cần nhận thức rằng việc bổ sung các khả năng AI sẽ đưa ra những bề mặt tấn công mới, đòi hỏi sandboxing chặt chẽ và xác thực đầu vào, khác biệt so với các biện pháp bảo mật ứng dụng truyền thống.
Bạn có thể làm gì
- Kiểm tra ngay phiên bản AI Gateway hiện tại của bạn để xác định xem bạn có đang chạy một phiên bản dễ bị tổn thương trong khoảng từ 18.1.6 đến 19.4.0 hay không.
- Cập nhật container Docker hoặc Helm chart của bạn lên một trong các phiên bản đã sửa lỗi: 19.2.4, 19.3.2 hoặc 19.4.1.
- Xoay vòng (rotate) các khóa ký JWT được lưu trữ trên gateway nếu bạn nghi ngờ có bất kỳ truy cập trái phép nào trước khi vá lỗi.
- Xem xét lại danh sách truy cập người dùng cho Duo Agent Platform và hạn chế quyền chỉ dành cho những người thực sự cần thiết.
- Giám sát nhật ký gateway để tìm các quá trình thực thi bất thường hoặc kết nối outbound không mong muốn tới các nhà cung cấp AI.
- Lên kế hoạch di chuyển nếu bạn đang sử dụng phiên bản gateway cũ hơn 19.2.4, vì không có bản vá nào khả dụng cho các dòng phiên bản đó.


