Lỗ hổng zero-day trong plugin jQuery File Upload, lỗ hổng này do nhà phát triển người Đức, Sebastian Tschan, thường được gọi là Blueimp viết.
Plugin này là dự án jQuery được đánh giá cao thứ hai trên GitHub, sau dự án jQuery Framework. jQuery vô cùng phổ biến, được tích hợp vào hàng nghìn dự án như CMSs, CRMs, giải pháp mạng nội bộ (Intranet), plugin WordPress, tiện ích Drupal, Joomla v,v.
Plugin jQuery đã được sử dụng trong rất nhiều dự án quan trọng nên dù đã được cung cấp bản vá nhưng hậu quả của nó gây ra rất lớn cho người dùng. Có hàng nghìn ứng dụng web đã tích hợp plugin jQuery, ví dụ như plugin WordPress Tajer. Rất may là plugin này có rất ít lượt tải và đã bị gỡ khỏi kho WordPress Plugins.
Một lỗ hổng trong plugin này ảnh hưởng đến nhiều nền tảng quan trọng
Larry Cashdollar, một nhà nghiên cứu bảo mật cho SIRT (Nhóm phản ứng thông tin bảo mật) của Akamai đã phát hiện ra lỗ hổng trong mã nguồn xử lý các tệp tải lên máy chủ PHP của plugin này.
Cashdollar nói rằng kẻ tấn công có thể lợi dụng lỗ hổng này để tải các tập tin độc hại lên máy chủ, chẳng hạn như backdoor và web shell. Các nhà nghiên cứu cho rằng lỗ hổng này đã các tin tặc khai thác từ trước năm 2016. Ông Cashdollar đã tìm thấy một số video trên YouTube hướng dẫn cách khai thác lỗ hổng zero-day trong plugin jQuery để chiếm quyền kiểm soát máy chủ. Một trong ba video đó được tải lên từ tháng 8 năm 2015.
Lỗ hổng trong jQuery được đặt số hiệu CVE-2018-9206. Tất cả các phiên bản jQuery File Upload trước khi 9.22.1 đều bị ảnh hưởng. Lỗ hổng zero-day trong plugin jQuery chỉ ảnh hưởng đến các mã xử lý tải tập tin lên các ứng dụng PHP, các khai triển phía máy chủ khác có thể sẽ không bị ảnh hưởng.
Nhà nghiên cứu Cashdollar đã báo cáo lỗ hổng zero-day trong plugin jQuery cho Blueimp vào đầu tháng này. Blueimp đã xác định nguồn gốc của lỗ hổng không nằm trong mã của plugin mà là do sự thay đổi trong các dự án Apache Web Server từ năm 2010, gián tiếp ảnh hưởng đến hoạt động của plugin trên máy chủ Apache.
Vấn đề này bắt đầu từ ngày 23 tháng 11 năm 2010, chỉ 5 ngày trước khi Blueimp tung ra phiên bản đầu tiên của plugin jQuery. Ngày hôm đó, nền tảng Apache phát hành phiên bản 2.3.9 của máy chủ Apache HTTPD.
Bắt đầu từ phiên bản này, máy chủ Apache HTTPD có sự thay đổi với một tùy chọn mới cho phép người sở hữu máy chủ bỏ qua cài đặt bảo mật cho các thư mục riêng lẻ thông qua các tệp .htaccess. Cài đặt này được thực hiện vì lý do bảo mật, được kích hoạt mặc định và duy trì trên tất cả bản phát hành tiếp theo của máy chủ Apache HTTPD.
Tuy nhiên, plugin jQuery File Upload lại được viết mã dựa trên tập tin htaccess tùy chỉnh quy định bảo mật với thư mục tải lên của mình mà không biết rằng năm ngày trước đó Apache HTTPD đã có sự thay đổi lớn về bảo mật, gây ảnh hưởng đến thiết kế cơ bản của plugin này.
Nhà nghiên cứu Cashdollar đã dành thời gian điều tra mức độ ảnh hưởng của lỗ hổng zero-day trong plugin jQuery này. “Tôi đã kiểm tra 1000/7800 cài đặt plugin trên GitHub và phát hiện tất cả đều đã bị khai thác”, Cashdollar nói với ZDNet. Trong số tất cả các dự án sử dụng jQuery File Upload được kiểm tra, chỉ có 36 dự án không bị ảnh hưởng.
Các lỗ hổng đều tồn tại một thời gian dài trước khi bị phát hiện, đặc biệt là các lỗ hổng được tích hợp sâu trong các dự án phức tạp như CRMs, CMSs, các nền tảng blog hoặc giải pháp doanh nghiệp.
Ngoài lỗ hổng trên thì một vấn đề bảo mật nghiêm trọng cũng đang được nhiều người quan tâm: Lỗi nghiêm trọng được tìm thấy trong hệ điều hành Amazon FreeRTOS IoT
Nguồn: THN