GitLab CVE-2026-97229 là lỗ hổng điểm tối đa CVSS 10.0, cho phép người chưa đăng nhập chạy mã tùy ý trên máy chủ GitLab. Ngày 29/10/2026, CISA đã đưa lỗi này vào danh mục lỗ hổng đang bị khai thác (KEV). Bản vá có từ ngày 12/10/2026, nên máy chủ GitLab tự cài nào chưa nâng cấp trong hơn hai tuần qua đều đang ở diện rủi ro cao.

Tóm tắt nhanh

  • Lỗ hổng: CVE-2026-97229, tràn số nguyên trong trình biên dịch regex CI/CD, CVSS 3.1 là 10.0.
  • Ảnh hưởng: GitLab CE/EE từ 19.2 trước 19.2.8, 19.3 trước 19.3.5, 19.4 trước 19.4.2.
  • Bản vá: 19.4.2, 19.3.5, 19.2.8 phát hành ngày 12/10/2026.
  • Tình trạng: CISA xác nhận bị khai thác, thêm vào KEV ngày 29/10/2026, hạn cho cơ quan liên bang Mỹ là 1/11/2026.
  • Khuyến nghị: lên bản mới nhất của nhánh đang dùng (bản ngày 21/10/2026 trở về sau).

Lỗ hổng hoạt động thế nào?

Theo thông báo bản vá ngày 12/10/2026 của GitLab, "trong một số điều kiện, người dùng chưa xác thực có thể chạy mã tùy ý trên máy chủ GitLab bằng một biểu thức chính quy được tạo đặc biệt trong cấu hình CI/CD". Nguyên nhân gốc là việc kiểm tra regex chưa đủ chặt, dẫn tới tràn số nguyên. Lỗi được báo qua chương trình HackerOne bởi nhà nghiên cứu joaxcar.

Cybersecuritynews lưu ý rằng mẫu regex độc hại tác động lên chính máy chủ GitLab, không chỉ làm hỏng một pipeline. Với một máy chủ GitLab, chiếm được quyền chạy mã đồng nghĩa với việc có thể đọc mã nguồn, biến CI/CD, token deploy và khóa truy cập các hệ thống khác.

Mốc thời gian

NgàySự kiện
12/10/2026GitLab phát hành bản vá khẩn 19.4.2, 19.3.5, 19.2.8, sửa CVE-2026-97229 cùng 23 lỗi khác
21/10/2026GitLab phát hành tiếp 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13 để sửa lỗi RCE CVE-2026-110264
29/10/2026CISA thêm CVE-2026-97229 vào danh mục KEV
1/11/2026Hạn xử lý cho cơ quan liên bang Mỹ

CISA chưa công bố ai đứng sau các vụ khai thác, nạn nhân là ai hay quy mô ra sao. Mục sử dụng trong ransomware đang để "chưa rõ".

Các lỗi khác trong cùng bản vá 12/10

Bản phát hành ngày 12/10/2026 sửa tổng cộng 24 lỗ hổng. Ngoài CVE-2026-97229, một số lỗi mức cao đáng chú ý:

  • CVE-2026-92883 (CVSS 8.7): XSS trong tính năng tô màu cú pháp.
  • CVE-2026-16301 (CVSS 8.5): phân quyền sai khi tạo pipeline downstream.
  • CVE-2026-14814 (CVSS 8.2): regex quá lỏng khi truy cập file trong repository.
  • CVE-2026-81839 (CVSS 7.7, chỉ EE): phân quyền sai trong chính sách chạy pipeline theo lịch.

Lưu ý: cài bản vá CVE-2026-97229 không xử lý lỗi CVE-2026-110264 được công bố sau đó. Chi tiết lỗi này có trong bài GitLab vá CVE-2026-110264 CVSS 10.

Quản trị viên GitLab cần làm gì?

  1. Xác định phiên bản: vào Admin Area hoặc trang /help, hoặc chạy sudo gitlab-rake gitlab:env:info.
  2. Nâng cấp gói Omnibus: trên Ubuntu/Debian chạy sudo apt update && sudo apt install gitlab-ee (hoặc gitlab-ce). Với Docker, kéo image mới nhất của nhánh rồi tạo lại container. Nhớ đi theo đường nâng cấp GitLab khuyến nghị nếu nhảy nhiều phiên bản.
  3. Chọn đúng bản: tối thiểu 19.4.2, 19.3.5 hoặc 19.2.8; tốt hơn là bản ngày 21/10/2026 (19.5.1, 19.4.3, 19.3.6, 19.2.9) để vá luôn CVE-2026-110264.
  4. Kiểm tra dấu hiệu xâm nhập: xem lại pipeline và file .gitlab-ci.yml thay đổi bất thường, tài khoản admin mới, token truy cập cá nhân mới tạo, tiến trình lạ trên máy chủ.
  5. Đổi secret nếu nghi ngờ: biến CI/CD, token deploy, khóa SSH, token runner.

Nếu chưa thể nâng cấp ngay, hãy tạm hạn chế truy cập GitLab từ Internet, ví dụ chỉ cho phép qua VPN hoặc danh sách IP tin cậy. Với đội nhỏ tự chạy GitLab trên VPS, nên bật thông báo bản phát hành bảo mật của GitLab để không bỏ lỡ các bản vá khẩn.

Nguồn tham khảo