WhiteHat News #ID:3333
VIP Members
-
04/06/2014
-
37
-
446 bài viết
RubyGems vá lỗ hổng nghiêm trọng cho phép tin tặc kiểm soát thư viện trái phép
Nhà bảo trì trình quản lý gói RubyGems vừa xử lý một lỗ hổng nghiêm trọng có thể bị lạm dụng để xóa các gem và thay thế chúng bằng các phiên bản giả mạo trong một số điều kiện nhất định.
Tương tự như npm cho JavaScript hay pip cho Python, RubyGems là trình quản lý gói và dịch vụ lưu trữ gem cho ngôn ngữ lập trình Ruby, cung cấp một kho lưu trữ với hơn 171.500 thư viện và gần 100 tỷ lượt tải xuống.
Trong đó, Ruby là công cụ được thiết kế nhằm dễ dàng quản lý việc cài đặt các thành phần Ruby (được gọi là gem) và máy chủ để phân phối chúng. Cơ quan đăng ký RubyGems.org là dịch vụ lưu trữ cộng đồng cho phép các nhà phát triển xuất bản hoặc cài đặt ngay lập tức và sử dụng một bộ API chuyên biệt.
Lỗ hổng có mã định danh CVE-2022-29176 (điểm CVSS 9.9), tồn tại trên RubyGems.org, cho phép tin tặc có thể thay thế nội dung của các gói Ruby hợp pháp bằng gói độc hại, giống như các thư viện ua-parser-js, coa và rc của npm đã bị tấn công vào năm ngoái để phân phối tiền điện tử và đánh cắp mật khẩu.
Mặc dù các sự cố chiếm quyền điều khiển npm xuất phát từ việc xâm nhập tài khoản của người bảo trì chứ không phải do khai thác lỗ hổng, nhưng chúng đã phá hủy các thư viện quan trọng được sử dụng trong nhiều dự án của Facebook, Microsoft, Amazon, Instagram, Google, Slack, Mozilla, Discord, Elastic, Intuit, Reddit và nhiều công ty nổi tiếng khác.
Tuy nhiên để khai thác được CVE-2022-29176, cần có các điều kiện sau:
Tương tự như npm cho JavaScript hay pip cho Python, RubyGems là trình quản lý gói và dịch vụ lưu trữ gem cho ngôn ngữ lập trình Ruby, cung cấp một kho lưu trữ với hơn 171.500 thư viện và gần 100 tỷ lượt tải xuống.
Trong đó, Ruby là công cụ được thiết kế nhằm dễ dàng quản lý việc cài đặt các thành phần Ruby (được gọi là gem) và máy chủ để phân phối chúng. Cơ quan đăng ký RubyGems.org là dịch vụ lưu trữ cộng đồng cho phép các nhà phát triển xuất bản hoặc cài đặt ngay lập tức và sử dụng một bộ API chuyên biệt.
Lỗ hổng có mã định danh CVE-2022-29176 (điểm CVSS 9.9), tồn tại trên RubyGems.org, cho phép tin tặc có thể thay thế nội dung của các gói Ruby hợp pháp bằng gói độc hại, giống như các thư viện ua-parser-js, coa và rc của npm đã bị tấn công vào năm ngoái để phân phối tiền điện tử và đánh cắp mật khẩu.
Mặc dù các sự cố chiếm quyền điều khiển npm xuất phát từ việc xâm nhập tài khoản của người bảo trì chứ không phải do khai thác lỗ hổng, nhưng chúng đã phá hủy các thư viện quan trọng được sử dụng trong nhiều dự án của Facebook, Microsoft, Amazon, Instagram, Google, Slack, Mozilla, Discord, Elastic, Intuit, Reddit và nhiều công ty nổi tiếng khác.
Tuy nhiên để khai thác được CVE-2022-29176, cần có các điều kiện sau:
- Gem mục tiêu cần có một hoặc nhiều dấu gạch ngang trong tên của nó, ví dụ 'something-provider'
- Từ đứng trước dấu gạch ngang đầu tiên đại diện cho một thành phần mà kẻ tấn công kiểm soát tồn tại trên nền tảng RubyGems.org
- Thành phần bị xóa hoặc thay đổi phải là thành phần được tạo ra trong vòng 30 ngày hoặc đã hơn 100 ngày chưa được cập nhật