Server-Side Request Forgery trong GitHub Enterprise Server có thể dẫn đến thực thi mã từ xa

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Lỗ hổng CVE-2026-96890 là gì?

Lỗ hổng CVE-2026-96890 là lỗ hổng Server-Side Request Forgery (SSRF) ảnh hưởng tới Enterprise Server. Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 8.7. Các nguồn hiện có chưa ghi nhận lỗ hổng này bị khai thác.

Giới thiệu chung

Dữ liệu gốc

Một lỗ hổng Server-Side Request Forgery (SSRF) được phát hiện trong GitHub Enterprise Server, cho phép một người đóng góp repository khiến appliance gửi request tới các internal host do kẻ tấn công kiểm soát; chuỗi này có thể được kết hợp để đạt remote code execution trên appliance. Trình xác thực secret scanning dành cho GCP service account credentials đã tin cậy token endpoint được nhúng trong credential đã commit và gửi request tới endpoint đó mà không hạn chế đích đến. Việc khai thác yêu cầu người dùng đã xác thực có quyền push vào một repository trên instance bật GitHub Advanced Security và secret scanning validity checks, đây là cấu hình không mặc định. Lỗ hổng này ảnh hưởng đến GitHub Enterprise Server 3.20, 3.21 và 3.22 và đã được khắc phục trong các phiên bản 3.20.9, 3.21.7 và 3.22.2. Lỗ hổng được báo cáo thông qua GitHub Bug Bounty program.

Sản phẩm và phạm vi ảnh hưởng

GitHub Enterprise Server bị ảnh hưởng theo các nhánh sau:

  • Nhánh 3.20: các bản từ 3.20.0 đến trước 3.20.9 bị ảnh hưởng; 3.20.9 được đánh dấu không bị ảnh hưởng.
  • Nhánh 3.21: các bản từ 3.21.0 đến trước 3.21.7 bị ảnh hưởng; 3.21.7 được đánh dấu không bị ảnh hưởng.
  • Nhánh 3.22: các bản từ 3.22.0 đến trước 3.22.2 bị ảnh hưởng; 3.22.2 được đánh dấu không bị ảnh hưởng.

Phạm vi cấu hình được mô tả là các instance đã bật GitHub Advanced Security và secret scanning validity checks. Trạng thái của các nhánh hoặc bản phát hành khác không được hồ sơ này xác nhận.

Chi tiết kỹ thuật

Lỗ hổng nằm trong trình xác thực secret scanning cho GCP service account credentials. Thành phần này tin cậy token endpoint được nhúng trong credential đã commit và gửi request tới đích đó mà không kiểm tra đầy đủ địa chỉ đích.

Luồng khai thác ở mức cao gồm:

  1. Người dùng đã xác thực có quyền push vào repository tạo hoặc commit credential có token endpoint trỏ tới địa chỉ nội bộ do kẻ tấn công lựa chọn.
  2. Khi secret scanning thực hiện validity check, appliance gửi request tới địa chỉ được cung cấp.
  3. SSRF này có thể được kết hợp với các điều kiện khác để đạt remote code execution trên appliance.

Việc khai thác cần GitHub Advanced Security và secret scanning validity checks được bật trên instance. Nguồn công khai không nêu endpoint nội bộ cụ thể, dịch vụ được truy cập, hoặc các bước chi tiết của chuỗi dẫn đến remote code execution.

Khả năng khai thác

  • Đường tấn công có thể tiếp cận qua network và yêu cầu người dùng đã xác thực có quyền push vào repository.
  • Người dùng không cần quyền quản trị appliance, nhưng phải có quyền ghi vào repository trên instance đáp ứng điều kiện cấu hình.
  • GitHub xác định việc khai thác yêu cầu GitHub Advanced Security và secret scanning validity checks được bật, đây là cấu hình không mặc định.
  • Mô tả và đặc tính tấn công được cung cấp không yêu cầu user interaction bổ sung sau khi điều kiện khai thác đã được đáp ứng.
  • Hồ sơ được cung cấp không đánh dấu public exploit và không xác định trạng thái known exploitation. Điều này không chứng minh rằng chưa từng có khai thác thực tế.

Tác động kỹ thuật

  • Lỗ hổng cho phép repository contributor có quyền push điều khiển một request do appliance phát ra tới địa chỉ nội bộ được chỉ định trong credential.
  • Đây là SSRF với tác động có thể vượt ra ngoài repository, vì request từ appliance có thể tiếp cận vùng mạng hoặc dịch vụ nội bộ mà client bên ngoài không truy cập được.
  • Mô tả của GitHub cho biết SSRF có thể được chain để đạt remote code execution trên appliance, từ đó có khả năng dẫn tới mất bí mật, thay đổi dữ liệu hoặc gián đoạn dịch vụ.
  • Quyền ban đầu là quyền push vào repository, không phải quyền quản trị hệ thống. Exact internal service, cơ chế chain và bằng chứng về compromise thực tế chưa được công khai trong hồ sơ.

Tác động đến tổ chức

  • Appliance có thể bị buộc gửi request tới các dịch vụ nội bộ mà thông thường người dùng repository không thể truy cập trực tiếp.
  • Nếu chuỗi khai thác đạt remote code execution như mô tả, kẻ tấn công có thể ảnh hưởng đến tính bí mật, toàn vẹn và khả dụng của appliance cùng dữ liệu hoặc dịch vụ do appliance quản lý.
  • Điều kiện ban đầu yêu cầu tài khoản đã xác thực có quyền push, vì vậy đây không phải là đường tấn công ẩn danh.
  • Rủi ro thực tế phụ thuộc vào việc các tính năng liên quan có được bật, khả năng truy cập từ appliance tới mạng nội bộ, và các dịch vụ nội bộ hiện diện. Không có bằng chứng trong hồ sơ về nạn nhân, breach hoặc phạm vi ảnh hưởng ngoài appliance.

Cách khắc phục

  1. Nâng cấp GitHub Enterprise Server lên bản sửa lỗi tương ứng với nhánh đang sử dụng: 3.20.9 cho nhánh 3.20, 3.21.7 cho nhánh 3.21, hoặc 3.22.2 cho nhánh 3.22.
  2. Xác minh sau nâng cấp rằng tất cả appliance và node liên quan đã chạy đúng bản sửa lỗi tương ứng. Không suy diễn rằng các nhánh song song hoặc bản phát hành khác đã an toàn nếu hồ sơ không xác nhận.
  3. Trong quá trình lập kế hoạch nâng cấp, ưu tiên các instance có GitHub Advanced Security và secret scanning validity checks được bật, vì đây là điều kiện cấu hình cần thiết được nêu trong advisory.
  4. Nếu chưa thể nâng cấp, coi các instance đáp ứng điều kiện cấu hình là đang có rủi ro. Hồ sơ không cung cấp một mitigation riêng đã được xác nhận, vì vậy không nên xem việc cấu hình này là biện pháp khắc phục.

Cách phát hiện

  1. Lập inventory các appliance GitHub Enterprise Server và đối chiếu release đang chạy với các release đã được sửa lỗi trong phần affected_summary và remediation.
  2. Xác minh riêng từng instance xem GitHub Advanced Security và secret scanning validity checks có được bật hay không.
  3. Rà soát các commit gần đây chứa GCP service account credentials, đặc biệt các credential có token endpoint khác với đích dịch vụ dự kiến.
  4. Kiểm tra outbound network logs của appliance trong thời điểm secret scanning thực hiện validity check để tìm request tới các địa chỉ nội bộ hoặc đích không mong đợi. Đây là biện pháp giám sát phòng ngừa, không phải IOC đã được xác nhận.
  5. Rà soát audit log về quyền push và hoạt động secret scanning liên quan. Nguồn hiện có không cung cấp tên event hoặc IOC cụ thể; việc không thấy log đáng ngờ không chứng minh instance an toàn.
Nguồn (20)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.