Theo những phát hiện mới từ Wiz, một lỗ hổng bảo mật nghiêm trọng chưa được vá trong Gogs đang bị khai thác tích cực, với hơn 700 phiên bản bị xâm nhập có thể truy cập qua internet.
Lỗ hổng này, được theo dõi là CVE-2025-8110 (điểm CVSS: 8.7), là một trường hợp ghi đè tệp trong API cập nhật tệp của dịch vụ Git tự lưu trữ dựa trên Go. Một bản vá cho vấn đề này được cho là đang được phát triển. Công ty cho biết họ tình cờ phát hiện lỗ hổng zero-day này vào tháng 7 năm 2025 khi điều tra một sự lây nhiễm malware trên máy của khách hàng.
"Việc xử lý sai symbolic link trong PutContents API của Gogs cho phép thực thi mã cục bộ," theo mô tả về lỗ hổng trên CVE.org.
Công ty an ninh đám mây cho biết CVE-2025-8110 là một cách để vượt qua một lỗ hổng remote code execution đã được vá trước đó (CVE-2024-55947, điểm CVSS: 8.7) cho phép kẻ tấn công ghi một tệp vào một đường dẫn tùy ý trên máy chủ và giành quyền truy cập SSH vào máy chủ. CVE-2024-55947 đã được giải quyết bởi các nhà phát triển vào tháng 12 năm 2024.
Wiz cho biết bản vá mà Gogs đã triển khai để giải quyết CVE-2024-55947 có thể bị vượt qua bằng cách lợi dụng việc Git (và do đó, Gogs) cho phép sử dụng symbolic link trong các Git repository, và các symlink này có thể trỏ đến các tệp hoặc thư mục bên ngoài repository. Ngoài ra, API của Gogs cho phép sửa đổi tệp bên ngoài giao thức Git thông thường.
Do đó, việc không tính đến các symlink này có thể bị kẻ tấn công khai thác để thực thi mã tùy ý thông qua quy trình bốn bước sau:
- Tạo một Git repository tiêu chuẩn
- Commit một symbolic link duy nhất trỏ đến một mục tiêu nhạy cảm
- Sử dụng PutContents API để ghi dữ liệu vào symlink, khiến hệ thống đi theo liên kết và ghi đè tệp mục tiêu bên ngoài repository
- Ghi đè ".git/config" (cụ thể là
sshCommand) để thực thi các lệnh tùy ý
Đối với malware được triển khai trong hoạt động này, nó được đánh giá là một payload dựa trên Supershell, một framework command-and-control (C2) mã nguồn mở thường được sử dụng bởi các nhóm hacker Trung Quốc, có khả năng thiết lập một reverse SSH shell đến máy chủ do kẻ tấn công kiểm soát ("119.45.176[.]196").
Wiz cho biết những kẻ tấn công đứng sau việc khai thác CVE-2025-8110 đã để lại các repository được tạo (ví dụ: "IV79VAew / Km4zoh4s") trên khối lượng công việc đám mây của khách hàng, trong khi chúng có thể đã thực hiện các bước để xóa hoặc đánh dấu chúng là riêng tư sau khi lây nhiễm. Sự cẩu thả này cho thấy một chiến dịch kiểu "đánh nhanh rút gọn" (smash-and-grab).
Tổng cộng có khoảng 1.400 phiên bản Gogs bị lộ, trong đó hơn 700 phiên bản đã có dấu hiệu bị xâm nhập, đặc biệt là sự hiện diện của các tên chủ sở hữu/repository ngẫu nhiên dài 8 ký tự. Tất cả các repository được xác định đều được tạo vào khoảng ngày 10 tháng 7 năm 2025.
"Điều này cho thấy rằng một tác nhân duy nhất, hoặc có thể là một nhóm tác nhân đều sử dụng cùng một công cụ, chịu trách nhiệm cho tất cả các sự lây nhiễm," các nhà nghiên cứu Gili Tikochinski và Yaara Shriki cho biết.
Vì lỗ hổng chưa có bản vá, điều cần thiết là người dùng phải tắt chức năng đăng ký mở (open-registration), hạn chế tiếp xúc với internet và quét các phiên bản để tìm các repository có tên ngẫu nhiên gồm 8 ký tự.
Tiết lộ này được đưa ra khi Wiz cũng cảnh báo rằng các threat actor đang nhắm mục tiêu vào các GitHub Personal Access Tokens (PAT) bị rò rỉ như là các điểm truy cập có giá trị cao để giành quyền truy cập ban đầu vào môi trường đám mây của nạn nhân và thậm chí tận dụng chúng để di chuyển ngang qua các đám mây từ GitHub đến control plane của Cloud Service Provider (CSP).
Vấn đề là một threat actor có quyền đọc cơ bản thông qua PAT có thể sử dụng tính năng tìm kiếm mã API của GitHub để khám phá tên secret được nhúng trực tiếp trong mã YAML của một workflow. Để làm phức tạp thêm vấn đề, nếu PAT bị khai thác có quyền ghi, kẻ tấn công có thể thực thi mã độc và xóa dấu vết hoạt động độc hại của chúng.
"Kẻ tấn công đã tận dụng các PAT bị xâm nhập để khám phá tên GitHub Action Secrets trong codebase, và sử dụng chúng trong các workflow độc hại mới được tạo để thực thi mã và lấy các CSP secrets," nhà nghiên cứu Shira Ayal cho biết. "Các threat actor cũng được quan sát là đã chuyển các secret ra ngoài đến một webhook endpoint mà chúng kiểm soát, hoàn toàn bỏ qua các Action logs."