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
Hiện vẫn chưa phát hiện thấy lỗ hổng đang bị khai thác trên thực tế, tuy nhiên các nhà phát triển RubyGem cần kiểm tra xem Gemfile.lock và tên thành phần gem được cập nhật gần đây có trùng với số phiên bản đã cập nhật hay chưa. Đồng thời, các khách hàng của RubyGem cũng cần cập nhật ngay bản vá để tránh bị tin tặc tấn công.
Đăng ký liền tay Nhận Ngay Bài Mới
Subscribe ngay
Cám ơn bạn đã đăng ký !
Lỗi đăng ký !
Add Comment