Lỗ hổng Zero-Day nghiêm trọng trong Gogs cho phép thực thi mã từ xa trên máy chủ

Phần mềm29 tháng 5, 2026·4 phút đọc

Dịch vụ Git tự lưu trữ mã nguồn mở Gogs đang đối mặt với một lỗ hổng zero-day nguy hiểm, cho phép kẻ tấn công thực thi mã từ xa (RCE) với điểm số CVSS lên tới 9.4. Lỗi này xuất phát từ việc thiếu kiểm soát dữ liệu đầu vào trong tính năng 'Rebase before merging', cho phép kẻ tấn công tiêm lệnh độc hại thông qua tên nhánh của pull request.

Lỗ hổng Zero-Day nghiêm trọng trong Gogs cho phép thực thi mã từ xa trên máy chủ

Lỗ hổng Zero-Day nghiêm trọng trong Gogs cho phép thực thi mã từ xa trên máy chủ

Bảo mậtBảo mật

Dịch vụ Git tự lưu trữ (self-hosted) mã nguồn mở phổ biến Gogs đang phải đối mặt với một lỗ hổng zero-day có mức độ nghiêm trọng cao, để lộ các máy chủ cho nguy cơ thực thi mã từ xa (Remote Code Execution - RCE), theo báo cáo từ các chuyên gia bảo mật tại Rapid7.

Vấn đề bảo mật này được đánh giá điểm số 9.4 trên thang CVSS, là một lỗi tiêm đối số (argument injection). Kẻ tấn công đã xác thực có thể khai thác lỗ hổng này thông qua các pull request chứa tên nhánh (branch names) được tạo ra với ý đồ độc hại.

Cơ chế khai thác lỗ hổng

Trong một báo cáo kỹ thuật, Rapid7 giải thích rằng các pull request này có khả năng tiêm cờ "–exec" vào lệnh git rebase trong quá trình thực hiện thao tác hòa mã "Rebase before merging" (Rebase trước khi hòa nhánh), dẫn đến việc thực thi lệnh với các đặc quyền của người dùng tiến trình máy chủ Gogs.

"Một hoạt động hòa mã tiêu chuẩn sẽ tạo ra một commit hòa mã nối liền hai lịch sử nhánh. Tuy nhiên, thao tác rebase trước khi hòa mã sẽ phát lại các commit của nhánh head lên trên nhánh cơ sở để tạo ra một lịch sử tuyến tính," Rapid7 giải thích về sự khác biệt.

Mặc dù tính năng "Rebase before merging" không được bật mặc định, nhưng bất kỳ chủ sở hữu kho lưu trữ hoặc quản trị viên nào cũng có thể kích hoạt nó. Đáng chú ý, bất kỳ người dùng đã đăng ký nào cũng tự động trở thành chủ sở hữu của các kho lưu trữ mà họ tạo ra.

Trong quá trình rebase, chức năng hòa mã sẽ chuyển tên nhánh cơ sở của pull request cho hàm git rebase mà không ngăn chặn việc diễn giải các đối số tiếp theo dưới dạng các cờ lệnh. Việc thiếu các kiểm tra và khử độc hại (sanitization) đối với việc tiêm đối số, cùng với thực tế là git rebase chấp nhận cờ –exec — vốn yêu cầu Gogs chạy một lệnh shell sau khi phát lại mỗi commit — cho phép kẻ tấn công bao gồm các đối số độc hại trong tên nhánh. Các đối số này sẽ được thực thi sau mỗi commit được phát lại.

Ảnh hưởng và rủi ro

Theo Rapid7, lỗ hổng này có thể được khai thác mà không cần sự tương tác của người dùng khác, vì kẻ tấn công hoạt động hoàn toàn trong tài khoản và kho lưu trữ của chính mình.

Do Gogs mặc định cho phép đăng ký mở và không giới hạn việc tạo kho lưu trữ, một kẻ tấn công chưa xác thực chỉ cần tạo tài khoản và kho lưu trữ trên bất kỳ phiên bản nào được cấu hình mặc định. Sau đó, họ có thể kích hoạt tính năng rebase merging trong cài đặt của mình và vận hành toàn bộ chuỗi khai thác mà không cần sự tương tác từ bất kỳ người dùng nào khác.

Kết quả là thực thi lệnh tùy ý dưới dạng người dùng quy trình máy chủ Gogs, cho phép kẻ tấn công xâm phạm máy chủ, đọc mọi kho lưu trữ trên phiên bản (bao gồm cả các kho riêng tư của người dùng khác), trích xuất thông tin xác thực (băm mật khẩu, token API, khóa SSH, bí mật 2FA), chuyển hướng sang các hệ thống khác có thể truy cập qua mạng và sửa đổi mã của bất kỳ kho lưu trữ được lưu trữ nào.

Công ty an ninh mạng này cho biết các máy chủ Gogs chạy trên Windows, Linux và macOS với cấu hình mặc định đều bị ảnh hưởng. Các phiên bản có nhiều tài khoản người dùng — một cấu hình mặc định cho nhiều tổ chức — chịu ảnh hưởng nặng nề nhất.

Tình trạng khắc phục

Rapid7 đã phát hành một mô-đun Metasploit tự động hóa toàn bộ chuỗi khai thác, cũng như các chỉ số bị xâm phạm (IoCs) để giúp các chuyên gia bảo mật tìm kiếm các nguy cơ bị tấn công tiềm ẩn.

SecurityWeekSecurityWeek

Các nhà bảo trì Gogs đã được thông báo về khuyết tật bảo mật này vào giữa tháng 3. Mặc dù họ đã xác nhận nhận được báo cáo lỗ hổng, nhưng chưa có bản vá nào được phát hành vào thời điểm bài viết này được đăng tải.

Đây là lỗ hổng zero-day thứ hai của Gogs được công khai trong nửa năm qua. Vào tháng 12, Wiz đã mô tả chi tiết về CVE-2025-8110, một vấn đề xử lý liên kết biểu tượng (symbolic link) không đúng cách đã bị khai thác dưới dạng zero-day trong nhiều tháng.

Các quản trị viên hệ thống sử dụng Gogs được khuyến nghị hạn chế quyền đăng ký công khai và kiểm tra kỹ lưỡng nhật ký hoạt động cho đến khi bản vá chính thức được phát hành.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗