GitLab vá lỗ hổng RCE CVSS 10 thứ hai trong vòng 10 ngày, không cần đăng nhập để khai thác
Nội dung bài viết

Ngày 21/10/2026, GitLab phát hành bản vá khẩn cho CVE-2026-110264, lỗ hổng điểm CVSS 10.0 cho phép kẻ tấn công không cần đăng nhập chạy mã tùy ý trên máy chủ GitLab. Đây là lỗ hổng điểm tối đa thứ hai trong vòng 10 ngày nằm ở cùng một thành phần, và cả hai đều do nhà nghiên cứu có tên joaxcar báo cáo qua chương trình bug bounty của GitLab trên HackerOne.

Lỗ hổng ảnh hưởng GitLab Community Edition (CE) và Enterprise Edition (EE) tự cài đặt (self-managed). GitLab.com đã được vá; khách hàng GitLab Dedicated chạy bản 19.3.5-internal0, 19.4.2-internal0 trở lên cũng không cần làm gì.

Chi tiết lỗ hổng

Lỗi nằm ở trình biên dịch biểu thức chính quy (regular expression) - phần GitLab dùng để phân tích và kiểm tra regex trong các file cấu hình. Khi biên dịch một regex được tạo đặc biệt, phép tính số nguyên bị tràn (integer overflow), và trong một số điều kiện kẻ tấn công có thể lợi dụng để chạy mã trên máy chủ.

  • Điểm: CVSS 10.0, không cần quyền, không cần người dùng tương tác
  • Phiên bản bị ảnh hưởng: mọi phiên bản từ 7.0 tới trước các bản vá dưới đây
  • Tình trạng: chưa ghi nhận khai thác ngoài thực tế
Dòng phiên bảnBản vá
19.519.5.1
19.419.4.3
19.319.3.6
19.219.2.9
19.119.1.9
19.019.0.10
18.1118.11.13

Ngoài ba dòng mới nhất, GitLab còn vá lùi (backport) cho cả các dòng cũ 19.0, 19.1 và 18.11.

Theo BleepingComputer, Shadowserver đang theo dõi khoảng 2.700 máy chủ GitLab CE lộ ra Internet, dù chưa rõ bao nhiêu trong số đó đã được vá.

Lỗ hổng trước đó: CVE-2026-97229

Ngày 12/10/2026, GitLab đã vá CVE-2026-97229, cũng có điểm CVSS 10.0 và cũng là lỗi tràn số nguyên, nhưng nằm ở trình biên dịch regex trong cấu hình CI/CD. Kẻ tấn công không cần đăng nhập có thể chạy mã trên máy chủ bằng một regex độc hại trong cấu hình pipeline.

Lỗ hổng này ảnh hưởng GitLab CE/EE 19.2 trước 19.2.8, 19.3 trước 19.3.5 và 19.4 trước 19.4.2. Cùng đợt vá này còn có 23 lỗi khác, trong đó đáng chú ý là lỗi XSS trong tô màu cú pháp (CVE-2026-92883, CVSS 8.7) và lỗi phân quyền khi tạo pipeline con (CVE-2026-16301, CVSS 8.5).

Các bản vá ngày 21/10 bao gồm luôn bản vá của ngày 12/10, nên chỉ cần cập nhật lên bản mới nhất là xử lý được cả hai lỗi.

Các lỗ hổng khác trong đợt vá 21/10

Ngoài CVE-2026-110264, đợt vá này còn xử lý 11 lỗ hổng khác:

CVEMứcCVSSNội dung
CVE-2026-15723Cao8.2Chiếm tài khoản qua cơ chế tự liên kết tài khoản OmniAuth với LDAP
CVE-2026-112212Cao7.5Đầu độc cache (cache poisoning) các endpoint khai báo OAuth/OIDC
CVE-2026-12664Trung bình6.8Trường email của work item trong GraphQL vượt qua giới hạn phạm vi của token
CVE-2026-16255Trung bình5.9Khóa thành viên SAML/LDAP không được áp dụng cho các request trước đó (EE)
CVE-2026-105777Trung bình4.3Lộ thông tin xác thực nội bộ của máy chủ qua header phản hồi
CVE-2026-13319Trung bình4.3API milestone của nhóm làm lộ dữ liệu từ dự án riêng tư

Còn lại là các lỗi mức trung bình và thấp: dùng được tính năng AI khi không có gói đăng ký, cache làm lộ tiêu đề issue bí mật, vượt chính sách phê duyệt merge request, người dùng chỉ có quyền đọc xóa được bản ghi lỗ hổng, và chủ nhóm bật lại được việc gửi dữ liệu ra ngoài cho Duo dù quản trị viên đã khóa.

Cần làm gì?

  1. Cập nhật ngay máy chủ GitLab tự cài đặt lên một trong các phiên bản ở bảng trên. Kiểm tra phiên bản đang chạy tại Admin → Overview → Dashboard hoặc trang /help.
  2. Nếu GitLab mở ra Internet mà chưa thể cập nhật ngay, cân nhắc tạm giới hạn truy cập (VPN, danh sách IP cho phép) cho tới khi vá xong. GitLab không đưa ra biện pháp tạm thời nào khác ngoài cập nhật.
  3. Rà soát dấu hiệu tấn công: GitLab đã phát hành các quy tắc phát hiện cho máy chủ tự cài đặt, gồm Onigmo native worker crash và Org mode render error burst cho lỗi mới, cùng 6 quy tắc cho CVE-2026-97229 (ví dụ CI lint workhorse worker crash, CI regexp guard rejection). Worker bị crash bất thường hàng loạt là dấu hiệu cần điều tra.
  4. GitLab thường là nơi lưu mã nguồn, biến bí mật CI/CD, khóa triển khai và token truy cập. Nếu nghi ngờ máy chủ đã bị xâm nhập, hãy thay toàn bộ token, khóa SSH và biến bí mật lưu trên đó.

GitLab đã liên tiếp phải vá lỗi nghiêm trọng trong thời gian gần đây. Tháng 9, lỗi đọc file tùy ý không cần đăng nhập CVE-2026-85706 bị khai thác ngay sau khi công bố và được CISA đưa vào danh sách lỗ hổng đang bị khai thác (KEV). Máy chủ GitLab lộ ra Internet vì vậy là mục tiêu được chú ý, nên cần cập nhật sớm nhất có thể.

Nguồn tham khảo: GitLab Critical Patch Release 19.5.1, GitLab Critical Patch Release 19.4.2 và BleepingComputer.