DDos
VIP Members
-
22/10/2013
-
524
-
2.191 bài viết
Lỗi RCE nghiêm trọng trong công cụ quản lý gói Homebrew dành cho macOS và Linux
Một lỗ hổng bảo mật được xác định gần đây trong kho lưu trữ chính thức Homebrew Cask có thể đã bị hacker khai thác để thực thi mã tùy ý trên thiết bị cài đặt Homebrew.
Lỗ hổng, được nhà nghiên cứu người Nhật Bản RyotaK thông báo ngày 18/4, xuất phát từ cách xử lý các thay đổi mã trong kho lưu trữ GitHub, dẫn đến tình huống Pull requests - ví dụ như các đề xuất thay đổi - có thể được tự động xem xét và phê duyệt. Lỗ hổng đã được sửa vào ngày 19/4.
Homebrew là một giải pháp quản lý gói phần mềm mã nguồn mở và miễn phí cho phép cài đặt phần mềm trên hệ điều hành macOS của Apple cũng như Linux. Homebrew Cask mở rộng chức năng của Homebrew bao gồm quy trình làm việc dòng lệnh cho các ứng dụng macOS dựa trên giao diện đồ họa (GUI), phông chữ, plugin và phần mềm không phải mã nguồn mở khác.
Markus Reiter của Homebrew cho biết: “Lỗ hổng được phát hiện sẽ cho phép kẻ tấn công đưa mã tùy ý vào một vùng chứa và để nó được hợp nhất tự động. Điều này là do lỗ hổng trong phần phụ thuộc git_diff của review-cask-pr GitHub Action, được sử dụng để phân tích cú pháp khác biệt của yêu cầu kéo cho mục đích kiểm tra. Do lỗ hổng này, trình phân tích cú pháp có thể bị giả mạo dẫn đến việc bỏ qua hoàn toàn các dòng mã vi phạm, dẫn đến việc phê duyệt thành công một yêu cầu kéo độc hại."
Nói cách khác, lỗ hổng cho phép mã độc hại được đưa vào kho lưu trữ Cask đã được hợp nhất mà không cần bất kỳ sự xem xét và phê duyệt nào.
Nhà nghiên cứu cũng đã đưa ra một bằng chứng về khái niệm (PoC) chứng minh lỗ hổng bảo mật, sau đó nó đã được hoàn nguyên. Theo kết quả nghiên cứu, Homebrew cũng đã xóa việc "tự động hợp nhất" GitHub Action cũng như vô hiệu hóa và xóa "review-cask-pr" GitHub Action khỏi tất cả các kho lưu trữ dễ bị tấn công.
Ngoài ra, khả năng của các bot để commit (thao tác ghi lại việc thêm/thay đổi file hay thư mục vào kho lưu trữ) với kho lưu trữ homebrew/cask* đã bị loại bỏ, và tất cả các yêu cầu kéo đều sẽ yêu cầu người bảo trì xem xét và phê duyệt thủ công. Không có hành động nào của người dùng được yêu cầu.
Nhà nghiên cứu cho biết: “Nếu lỗ hổng này bị lạm dụng bởi một kẻ tấn công, nó có thể được sử dụng để xâm phạm các máy chạy brew trước khi nó được hoàn nguyên. Vì vậy, tôi thực sự cảm thấy rằng cần phải kiểm tra bảo mật đối với hệ sinh thái tập trung."
Lỗ hổng, được nhà nghiên cứu người Nhật Bản RyotaK thông báo ngày 18/4, xuất phát từ cách xử lý các thay đổi mã trong kho lưu trữ GitHub, dẫn đến tình huống Pull requests - ví dụ như các đề xuất thay đổi - có thể được tự động xem xét và phê duyệt. Lỗ hổng đã được sửa vào ngày 19/4.
Homebrew là một giải pháp quản lý gói phần mềm mã nguồn mở và miễn phí cho phép cài đặt phần mềm trên hệ điều hành macOS của Apple cũng như Linux. Homebrew Cask mở rộng chức năng của Homebrew bao gồm quy trình làm việc dòng lệnh cho các ứng dụng macOS dựa trên giao diện đồ họa (GUI), phông chữ, plugin và phần mềm không phải mã nguồn mở khác.
Markus Reiter của Homebrew cho biết: “Lỗ hổng được phát hiện sẽ cho phép kẻ tấn công đưa mã tùy ý vào một vùng chứa và để nó được hợp nhất tự động. Điều này là do lỗ hổng trong phần phụ thuộc git_diff của review-cask-pr GitHub Action, được sử dụng để phân tích cú pháp khác biệt của yêu cầu kéo cho mục đích kiểm tra. Do lỗ hổng này, trình phân tích cú pháp có thể bị giả mạo dẫn đến việc bỏ qua hoàn toàn các dòng mã vi phạm, dẫn đến việc phê duyệt thành công một yêu cầu kéo độc hại."
Nói cách khác, lỗ hổng cho phép mã độc hại được đưa vào kho lưu trữ Cask đã được hợp nhất mà không cần bất kỳ sự xem xét và phê duyệt nào.
Nhà nghiên cứu cũng đã đưa ra một bằng chứng về khái niệm (PoC) chứng minh lỗ hổng bảo mật, sau đó nó đã được hoàn nguyên. Theo kết quả nghiên cứu, Homebrew cũng đã xóa việc "tự động hợp nhất" GitHub Action cũng như vô hiệu hóa và xóa "review-cask-pr" GitHub Action khỏi tất cả các kho lưu trữ dễ bị tấn công.
Ngoài ra, khả năng của các bot để commit (thao tác ghi lại việc thêm/thay đổi file hay thư mục vào kho lưu trữ) với kho lưu trữ homebrew/cask* đã bị loại bỏ, và tất cả các yêu cầu kéo đều sẽ yêu cầu người bảo trì xem xét và phê duyệt thủ công. Không có hành động nào của người dùng được yêu cầu.
Nhà nghiên cứu cho biết: “Nếu lỗ hổng này bị lạm dụng bởi một kẻ tấn công, nó có thể được sử dụng để xâm phạm các máy chạy brew trước khi nó được hoàn nguyên. Vì vậy, tôi thực sự cảm thấy rằng cần phải kiểm tra bảo mật đối với hệ sinh thái tập trung."
Theo: Thehackernews
Chỉnh sửa lần cuối bởi người điều hành: