GitLab khuyến cáo người dùng vá ngay lỗ hổng RCE nghiêm trọng

GitLab

GitLab đang kêu gọi người dùng cài đặt một cập nhật bảo mật cho các nhánh 15.1. 15.2 và 15.3 trong các phiên bản cộng đồng và doanh nghiệp của nó để sửa một lỗ hổng nghiêm trọng có thể cho phép kẻ tấn công thực hiện lệnh từ xa thông qua việc nhập từ GitHub.

GitLab là kho lưu trữ Git trên nền web dành cho các nhóm nhà phát triển cần quản lý code của họ từ xa. Nó có khoảng 30 triệu người dùng đã đăng ký và 1 triệu khách hàng là thuê bao có trả phí.

Lỗ hổng được giải quyết bởi bản cập nhật này được theo dõi dưới mã CVE-2022-2884 và được đánh giá là nghiêm trọng với điểm số 9,9 theo thang CVSS v3. Nó ảnh hưởng tới tất cả các phiên bản bắt đầu từ 11.3.4 tới 15.1.4, những phiên bản giữa 15.2 và 15.2.3 và 15.3.

Ngoài ra, GitLab còn nhấn mạnh rằng các kiểu triển khai (omnibus, source code, helm chart,...) không tạo ra sự khác biệt vì chúng đều bị ảnh hưởng.Thực thi lệnh từ xa (RCE) là một loại lỗ hổng nghiêm trọng, cho phép hacker thực thi các loại mã độc trên máy mục tiêu, đưa phần mềm độc hại và backdoor vào hoặc kiểm soát hoàn toàn máy của mục tiêu từ xa.

GitLab khuyến cáo người dùng vá ngay lỗ hổng RCE nghiêm trọng

Sử dụng lỗ hổng này, hacker có thể chiếm quyền kiểm soát máy chủ, đánh cắp hoặc xoác mã nguồn, thực hiện các hành vi độc hại khác...

Các phiên bản GitLab mới nhất đã khắc phục sự cố là 15.3.1, 15.2.3 và 15.1.5, người dùng nên nâng cấp ngay lập tức.

"Chúng tôi đặc biệt khuyên rằng tất cả các cài đặt đang chạy phiên bản bị ảnh hưởng bởi các vấn đề được mô tả bên dưới cần phải được nâng cấp lên phiên bản mới nhất càng sớm càng tốt", GitLab chia sẻ.

Giải pháp thay thế

Nếu vì một lý do nào đó mà bạn không thể cài đặt ngay bản cập nhật vá lỗi, GitLab khuyên bạn nên thực hiện giải pháp thay thế là tắt tính năng nhập GitHub, một công cụ cho phép nhập toàn bộ dự án phần mềm từ GitHub sang GitLab.

Các bước thực hiện như sau:

  • Đăng nhập GitLab bằng tài khoản quản trị viên
  • Nhấp Menu > Admin
  • Nhấp Settings > General
  • Mở rộng tab Visibility and access controls
  • Trong phần Import sources hãy vô hiệu hóa tùy chọn GitHub
  • Nhấp vào Save changes

Để xác minh rằng giải pháp thay thế này đã được triển khai chính xác hay chưa bạn có thể thử theo các bước sau:

  • Trong cửa sổ trình duyệt, đăng nhập dưới tư cách người dùng bất kỳ
  • Nhấp vào dấu + trên thanh trên cùng
  • Nhấp vào New project/repository
  • Nhấp Import project
  • Xác minh rằng GitHub không còn xuất hiện dưới dạng tùy chọn nhập

Để biết cách cập nhật GitLab, bạn hãy xem hướng dẫn trên trang chủ của dự án.GitLab khuyến cáo người dùng vá ngay lỗ hổng RCE nghiêm trọng

Thông thường, các lỗ hổng nghiêm trọng sẽ chuyển sang giai đoạn khai thác tích cực vài ngày sau khi chúng được tiết lộ. Do đó, bạn nên cập nhật ngay hoặc áp dụng ngay biện pháp thay thế.

Tăng tốc việc thực thi

Quá trình biên dịch , xử lý, test, ... có thể mất hàng chục phút để hoàn thành, thậm chí hàng giờ, một số cấu hình dưới đây sẽ giúp rút ngắn thời gian đó.

1. Cài đặt Gitlab Local

Thay vì quản lý và triển khai dự án trên gitlab global, bạn có thể cài đặt gitlab và gitlab runner trên local. Cụ thể bạn có thể sử dụng docker cho quá trình đó, nó sẽ giúp việc thực hiện nhanh hơn do sử dụng tài nguyên trên chính các máy chủ của bạn.

2. Sử dụng trình điều khiển overlay2

GitLab khuyến cáo người dùng vá ngay lỗ hổng RCE nghiêm trọng

Theo mặc định, khi sử dụng docker: dind, Docker sử dụng trình điều khiển vfs  trên mọi lần chạy. Thay vào đó, sử dụng trình điều khiển overlay2 sẽ giúp quá trình thực thi nhanh hơn, việc cấu hình cũng rất đơn giản, dễ dàng khai báo trong tệp ".gitlab-ci.yml"

3. Tối ưu hóa source code

GitLab khuyến cáo người dùng vá ngay lỗ hổng RCE nghiêm trọng

Thay vì sử dụng quá nhiều cài đặt phụ thuộc, hay  biên dịch lại Dockerfile mỗi lần thực thi, bạn có thể tối ưu việc cài đặt thêm những thư viện trong quá trình biên dịch, hoặc sử dụng cache cho việc build docker image nhằm rút ngắn thời gian.

4. Hạn chế chia câu lệnh ra quá nhiều job

GitLab khuyến cáo người dùng vá ngay lỗ hổng RCE nghiêm trọng

Bởi, trước mỗi job thực hiện sẽ có khoảng thời gian pending cho việc đó. Chính vì vậy, hãy gộp những câu lệnh có thể vào chung job, thời gian pending rút ngắn cũng không phải là ít. Lưu ý, không gộp chung quá nhiều câu lệnh, khi biên dịch 1 câu lệnh có lỗi, sẽ khiến cả job phải chạy lại. 

5. Sử dụng cache của gitlab

GitLab khuyến cáo người dùng vá ngay lỗ hổng RCE nghiêm trọng

Giả sử mỗi lần thực thi lại cần cài đặt đầy đủ nodee module cho một project nodejs, quá trình đó sẽ tốn rất nhiều thời gian, thay vào đó, Gitlab cho phép bạn sử dụng cache nhằm rút ngắn thời gian

Nguồn bài viết: Sưu tầm