Công ty bảo mật và cơ sở hạ tầng web Cloudflare tháng trước đã khắc phục một lỗ hổng nghiêm trọng trong thư viện CDNJS được sử dụng bởi 12.7% các trang web trên toàn thế giới.
CDNJS là mạng lưới cung cấp nội dung mã nguồn mở và miễn phí (CDN) phục vụ khoảng 4.041 thư viện JavaScript và CSS, làm cho nó trở thành CDN phổ biến thứ hai cho JavaScript sau thư viện Google Hosted Libraries.
Lỗ hổng liên quan đến một vấn đề trong máy chủ cập nhật thư viện CDNJS cho phép kẻ tấn công thực hiện các lệnh tùy ý, dẫn đến kiểm soát hoàn toàn máy chủ.
Lỗ hổng được phát hiện và báo cáo bởi nhà nghiên cứu bảo mật RyotaK vào ngày 6 tháng 4 năm 2021. May mắn thay, chưa có dấu hiệu nào cho thấy lỗ hổng bị khai thác trong thực tế.
Lỗ hổng có thể khai thác bằng cách xuất bản các gói lên CDNJS của Cloudflare bằng GitHub và npm, sử dụng các gói độc hại này để kích hoạt lỗ hổng path traversal (truyền qua thư mục khai thác không đủ xác thực bảo mật) và cuối cùng đánh lừa máy chủ thực thi mã tùy ý, do đó đạt được khả năng thực thi mã từ xa.
Cơ sở hạ tầng CDNJS bao gồm các tính năng tự động cập nhật thư viện bằng cách chạy định kỳ các tập lệnh trên máy chủ để tải xuống các tệp có liên quan từ kho lưu trữ Git do người dùng quản lý tương ứng hoặc đăng ký gói npm.
Sau khi phân tích, RyotaK nhận thấy rằng “mã tùy ý có thể được thực thi sau khi khai thác lỗ hổng path traversal từ tệp .tgz được xuất bản tới npm và ghi đè tập lệnh được thực thi thường xuyên trên máy chủ.”
Mục tiêu của cuộc tấn công là xuất bản phiên bản mới của một gói được chế tạo đặc biệt vào kho lưu trữ, sau đó đưa vào máy chủ cập nhật thư viện CDNJS để xuất bản, trong quá trình sao chép nội dung của gói độc hại vào tệp lệnh thực thi được lưu trữ trên máy chủ, do đó đạt được khả năng thực thi mã tùy ý.
RyotaK cho biết: “Lỗ hổng có thể dễ dàng bị khai thác và ảnh hưởng đến rất nhiều trang web. Thật khó tưởng tượng hậu quả sẽ ra sao, khi tin tặc sử dụng nó trong các cuộc tấn công chuỗi cung ứng.”
Theo Thehackernews