GitHub Repojacking Bug có thể cho phép những kẻ tấn công chiếm đoạt kho lưu trữ của người dùng khác


  Dịch vụ lưu trữ kho lưu trữ dựa trên đám mây GitHub đã giải quyết một lỗ hổng bảo mật có mức độ nghiêm trọng cao có thể đã bị khai thác để tạo ra các kho lưu trữ độc hại và thực hiện các cuộc tấn công chuỗi cung ứng.

Kỹ thuậtRepoJacking, được tiết lộ bởi Checkmarx, đòi hỏi phải bỏ qua một cơ chế bảo vệ được gọi là nghỉ hưu không gian tên kho lưu trữ phổ biến, nhằm mục đích ngăn các nhà phát triển kéo các kho lưu trữ không an toàn có cùng tên.

Vấn đề đã được giải quyết bởi công ty con thuộc sở hữu của Microsoft vào ngày 19 tháng 9 năm 2022 sau khi tiết lộ có trách nhiệm.

RepoJacking xảy ra khi người tạo kho lưu trữ chọn thay đổi tên người dùng, có khả năng cho phép tác nhân đe dọa xác nhận tên người dùng cũ và xuất bản một kho lưu trữ lừa đảo có cùng tên trong nỗ lực lừa người dùng tải chúng xuống.


Trong khi biện pháp đối phó của Microsoft "loại bỏ không gian tên của bất kỳ dự án nguồn mở nào có hơn 100 bản sao trong tuần dẫn đến việc tài khoản của chủ sở hữu bị đổi tên hoặc xóa," Checkmarx nhận thấy rằng điều này có thể bị phá vỡ thông qua tính năng "chuyển kho lưu trữ".

Cách thức hoạt động của điều này như sau -

  • Tác nhân đe dọa tạo một kho lưu trữ có cùng tên với kho lưu trữ đã ngừng hoạt động (giả sử, "repo") thuộc sở hữu của người dùng có tên "nạn nhân" nhưng dưới một tên người dùng khác (giả sử, "người trợ giúp")
  • "helper" chuyển quyền sở hữu "repo" sang tài khoản thứ hai với tên người dùng "kẻ tấn công"
  • "kẻ tấn công" đổi tên tên người dùng của tài khoản thành "nạn nhân"
  • Không gian tên "nạn nhân/repo" hiện nằm dưới sự kiểm soát của kẻ thù
Nói cách khác, cuộc tấn công phụ thuộc vào điều kỳ quặc mà GitHub chỉ coi là không gian tên đã nghỉ hưu, tức là sự kết hợp giữa tên người dùng và tên kho lưu trữ, cho phép một kẻ xấu sử dụng lại tên kho lưu trữ cùng với tên người dùng tùy ý.

Việc khai thác thành công có thể cho phép những kẻ tấn công đẩy các kho lưu trữ bị nhiễm độc một cách hiệu quả, khiến tên người dùng được đổi tên có nguy cơ trở thành nạn nhân của các cuộc tấn công chuỗi cung ứng.

"Nếu không có xu hướng rõ ràng, tất cả các tên người dùng được đổi tên trên GitHub đều dễ bị tổn thương bởi lỗ hổng này, bao gồm hơn 10,000 gói trên trình quản lý gói Go, Swift và Packafist," nhà nghiên cứu Aviad Gershon của Checkmarx cho biết.

Mới hơn Cũ hơn