CVE-2026-25921: Lỗ hổng Gogs nghiêm trọng đe dọa chuỗi cung ứng

CVE-2026-25921: Lỗ hổng Gogs nghiêm trọng đe dọa chuỗi cung ứng

Một lỗ hổng bảo mật nghiêm trọng đã được phát hiện trong dịch vụ Git mã nguồn mở, tự host phổ biến là Gogs. Lỗ hổng này, được định danh là CVE-2026-25921, cho phép kẻ tấn công ghi đè các đối tượng Large File Storage (LFS) một cách bí mật. Điều này tạo ra rủi ro cao cho các cuộc tấn công chuỗi cung ứng phần mềm.

Nội dung
Tổng quan về Lỗ hổng Ghi đè LFS (CVE-2026-25921)
Cơ chế Khai thác Lỗ hổng Ghi đè Đối tượng LFS

Thiếu cô lập lưu trữ
Thiếu xác minh hàm băm
Quy trình tấn công
Hậu quả và Rủi ro của CVE-2026-25921

Nguy cơ tấn công chuỗi cung ứng phần mềm
Giả mạo không thể phát hiện
Các biện pháp giảm thiểu tạm thời cho Gogs

Hạn chế quyền truy cập
Kiểm tra tính toàn vẹn thủ công

Tổng quan về Lỗ hổng Ghi đè LFS (CVE-2026-25921)

Lỗ hổng này được theo dõi dưới mã CVE-2026-25921 và mang mức độ nghiêm trọng tối đa với điểm CVSS 3.1 là 10.0. Mức độ nghiêm trọng của CVE-2026-25921 cảnh báo về nguy cơ tiềm ẩn rất lớn.

Hiện tại, nó ảnh hưởng đến các phiên bản Gogs 0.14.1 và cũ hơn. Tại thời điểm công bố, chưa có bản vá chính thức.

Nếu bị khai thác, các tác nhân độc hại có thể giả mạo các tệp nhị phân quan trọng, bộ dữ liệu hoặc bản dựng phần mềm trên bất kỳ kho lưu trữ nào trên một máy chủ dùng chung mà không kích hoạt bất kỳ cảnh báo nào.

Lỗ hổng này đã được phát hiện và báo cáo bởi nhà nghiên cứu bảo mật zjuchenyuan. Thông tin chi tiết có thể được tìm thấy tại Gogs Security Advisory GHSA-cj4v-437j-jq4c.

Cơ chế Khai thác Lỗ hổng Ghi đè Đối tượng LFS

Nguyên nhân gốc rễ của CVE-2026-25921 xuất phát từ hai điểm yếu thiết kế quan trọng trong cách Gogs xử lý kiến trúc Large File Storage của mình.

Thiếu cô lập lưu trữ

  • Gogs lưu trữ tất cả các đối tượng LFS đã tải lên trong một vị trí dùng chung duy nhất mà không cô lập chúng theo từng kho lưu trữ (repository).
  • Đường dẫn lưu trữ không bao gồm ID kho lưu trữ duy nhất.
  • Mọi dự án được lưu trữ trên một phiên bản Gogs đều chia sẻ cùng một vùng tệp trung tâm.

Thiếu xác minh hàm băm

  • Khi người dùng tải lên một tệp LFS, Gogs hoàn toàn không xác minh xem nội dung thực tế của tệp có khớp với hàm băm mật mã SHA-256 đã khai báo (còn gọi là OID) hay không.
  • Do thiếu các kiểm tra bảo mật này, kẻ tấn công chỉ cần biết hàm băm SHA-256 của một tệp LFS mục tiêu để khai thác CVE-2026-25921.

Quy trình tấn công

Kẻ tấn công có thể tải lên một tệp đã bị thao túng, ví dụ như một trình cài đặt phần mềm có backdoor, vào kho lưu trữ của riêng chúng. Trong quá trình này, chúng sẽ khai báo hàm băm của tệp nạn nhân.

Máy chủ Gogs sẽ hiểu rằng việc tải lên này là một lần thử lại bình thường từ phía client. Sau đó, nó sẽ tự động ghi đè lên tệp gốc, hợp pháp trong cơ sở dữ liệu lưu trữ dùng chung mà không có bất kỳ xác minh tính toàn vẹn dữ liệu nào.

Hậu quả và Rủi ro của CVE-2026-25921

Tác động của CVE-2026-25921 là rất nghiêm trọng vì nó yêu cầu mức độ phức tạp tấn công thấp, không cần đặc quyền đặc biệt và không yêu cầu tương tác của người dùng. Khai thác CVE-2026-25921 có thể dẫn đến thiệt hại lớn.

Nguy cơ tấn công chuỗi cung ứng phần mềm

Khi các nhà phát triển hợp pháp hoặc các hệ thống tự động tải xuống các đối tượng LFS từ máy chủ bị ảnh hưởng, họ sẽ vô tình nhận được tệp đã bị kẻ tấn công cài backdoor.

Giả mạo không thể phát hiện

Vì hệ thống ngầm tin tưởng tệp bị thao túng của kẻ tấn công mà không có xác thực tính xác thực dữ liệu (CWE-345), việc ghi đè diễn ra hoàn toàn âm thầm.

Nạn nhân tải xuống đối tượng LFS từ trang web Gogs sẽ không thấy bất kỳ cảnh báo, lỗi hoặc thông báo nào về việc tệp đã bị thay đổi.

Các biện pháp giảm thiểu tạm thời cho Gogs

Do chưa có phiên bản Gogs nào được vá chính thức cho CVE-2026-25921, các tổ chức đang dựa vào các phiên bản Gogs tự host phải hết sức thận trọng.

Các quản trị viên nên xem xét các biện pháp bảo mật tạm thời sau đây cho đến khi bản sửa lỗi chính thức được phát hành:

Hạn chế quyền truy cập

  • Nghiêm ngặt giới hạn quyền tạo tài khoản và quyền tải lên LFS cho những người dùng nội bộ đáng tin cậy.
  • Điều này nhằm ngăn chặn các tác nhân trái phép ghi đè tệp.

Kiểm tra tính toàn vẹn thủ công

  • Triển khai các script giám sát bên ngoài để định kỳ xác minh rằng hàm băm SHA-256 thực tế của các tệp LFS quan trọng trên đĩa máy chủ khớp với các giá trị mong đợi của chúng trong cơ sở dữ liệu.

Bản sửa lỗi cuối cùng từ nhà phát triển sẽ yêu cầu Gogs xác minh nghiêm ngặt rằng tất cả các đối tượng LFS đã tải lên phải khớp về mặt toán học với hàm băm SHA-256 đã khai báo của chúng trước khi ghi chúng vào đĩa máy chủ.