Một lỗ hổng trên WordPress vừa được công bố, cho phép tin tặc xóa tập tin và thực thi mã tùy ý trên website.
Được phát hiện bởi các nhà nghiên cứu RIPS Technologies (Đức), lỗ hổng này được đánh giá nghiêm trọng gây ảnh hưởng tới tất cả website sử dụng WordPress.Mặc dù đã đượcbáo cáocho nhóm an ninh mạng của WordPress từ cuối năm 2017, tuy nhiên cho tới nay, vẫn chưa có bản vá chính thức từ các nhà phát triển cho lỗ hổng này.
Phạm vi ảnh hưởng
Hiện tại, tất cả các phiên bản của WordPress (bao gồm phiên bản mới nhất là 4.9.6) đều tồn tại lỗ hổng này.
Lỗ hổng nằm trong chức năng xóa bài viết của WordPress. Tin tặc có thể lợi dụng việc gửi yêu cầu để chèn vào các đoạn mã độc hại, từ đó, có thể xóa bất cứ tập tin nào trên máy chủ. Để khai thác được lỗ hổng, tin tặc cần có quyền chỉnh sửa và xóa các tập tin đa phương tiện. Vì vậy, lỗ hổng này chỉ có thể thực hiện leo thang đặc quyền khi có tài khoản với quyền đăng bài (author), hoặc kết hợp với một lỗ hổng khác hay khai thác dựa trên cấu hình sai.
Những tác hạimàtin tặccó thể gây ra
Nếu khai thác thành công lỗ hổng, tin tặc sẽ có quyền xóa bất cứ tập tin nào trong bộ cài đặt WordPress, hoặc trong máy chủ khi người dùng được quyền xóa thông qua tiến trình PHP, từ đó, tin tặc sẽ thực thi mã độc trên trình duyệt web. Cụ thể, những loại tệp tin có thể bị xóa bao gồm:
–.htaccess: việc xóa tập tin này thường sẽ không gây ra lỗi bảo mật, tuy nhiên, trong một số trường hợp,.htaccessđược cấu hình có liên quan đến việc truy cập các thư mục khác. Điều này đồng nghĩa với việc nếu tập tin này bị xóa, các ràng buộc bảo mật với các tập tin liên quan cũng bị xóa bỏ.
–index.php: Thông thường, các tập tin index.php trống sẽ được đặt vào các thư mục để ngăn máy chủ liệt kê ra những đường dẫn con trong đó. Việc xóa đi các tập tin này sẽ làm lộ thông tin danh mục các tệp được bảo vệ theo phương pháp này.
–wp-config.php:Việc xóa đi tập tin này sẽ kích hoạt quá trình cài đặt cấu hình mặc định của WordPress, bởiwp-config.phplưu trữ cấu hình của người dùng. Khi tập tin này bị xóa, tin tặc có thể thực hiện quá trình cài đặt lại WordPress sử dụng thông tin đăng nhập mặc định với quyền Administrator và thực thi mã tùy ý trên máy chủ.
Chi tiếtkỹ thuật
Trong PHP, lỗ hổng này xảy ra khi hàmunlink()được khởi chạy và dữ liệu đầu vào của người dùng có thể tác động đến các thành phần của tham số$filenamemà không qua quá trình chuẩn hóa.
Dưới đây là đoạn mã chứa lỗ hổng được tìm thấy ở tập tin wp-include/post.php.
Trong hàmwp_delete_attachement(), nội dung của$meta[‘thumb’]được dùng khi gọi hàmunlink()mà không chuẩn hóa. Đoạn mã này được dùng để xóa tập tin thumbnail của một ảnh cùng lúc với việc xóa ảnh đó. Ảnh được tải lên qua trình quản lý đa phương tiện của WordPress được coi là một loại tệp đính kèm. Giá trị$meta[‘thumb’]được lưu dưới dạng Custom Field của ảnh. Vì vậy, khi lấy giá trị đại diện cho tên tập tin thumbnail dùng cho gọi hàmunlink()từ cơ sở dữ liệu, đã không qua quá trình chuẩn hóa hay kiểm tra nào. Nếu không có biện pháp bảo mật nào khác trước khi được lưu vào cơ sở dữ liệu, thì sẽ tồn tại lỗ hổng xóa tệp tùy ý.
Đoạn mã trên cho thấy giữa quá trình lấy giá trị$_POST[‘thumb’]và lưu vào cơ sở dữ liệuwp_update_attachment_metadata()không có biện pháp bảo mật để đảm bảo giá trị này thực sự là của tập tin thumbnail của tệp đính kèm. Giá trị$_POST[‘thumb’]có thể bao gồm đường dẫn của bất kỳ tập tin nào và sẽ bị xóa cùng tệp đính kèm.
Cách khắc phục
Trong khi chờ đợi bản vá chính thức từ nhà phát triển, các quản trị viên có thể tạm thời thực hiện các phương án sau đây:
– Rà soát lại danh sách người dùng và các quản trị viên của website, đặc biệt các tài khoản có quyền đăng bài trên website. Loại bỏ các tài khoản nghi ngờ và giữ lại các tài khoản thực sự tin tưởng.
– Thực hiện sao lưu toàn bộ dữ liệu của website để tránh trường hợp bị tin tặc tấn công, phá hoại.
– Áp dụng bản vá nóng (Hotfix) tạm thời: Các nhà nghiên cứu RIPS Technologies đã đưa ra bản vá tạm thời cho lỗ hổng này. Bản vá này tích hợp với bộ cài đặt WordPress bằng cách cấu hình tập tinfunctions.phpcủa chủ đề hoặc chủ đề con mà website sử dụng. Bằng việc sử dụng kỹ thuật hook vàowp_update_attachment_metadata(), từ đó dữ liệu cung cấp cho giá trị meta-value thumb không thể đính kèm thêm các giá trị khác. Tuy nhiên, đây chỉ được xem như một hình thức sửa chữa tạm thời để phòng chống tin tặc tấn công. Việc khai thác qua các plug-in của WordPress nằm ngoài khả năng của bản vá này.
Vân Ngọc (Theo ripstech.com)
Sẵn sàng để phát triển doanh nghiệp của bạn?
Để được tư vấn chi tiết hơn về dịch vụ, quý khách vui lòng cung cấp thông tin cho chúng tôi theo mẫu sau.
Bài viết liên quan
Google Tag Manager là gì? Cách sử dụng GTM từ A đến Z 2024
Rất có thể bạn đã từng nghe nói về Google Tag Manager (Trình quản lý...
Th11
Sales Director là gì? Công việc, Yêu cầu và Mức lương vị trí này
Sales Director là vị trí cao nhất trong ngành Sales, một vị trí đáng mơ ước...
Th10
Câu chuyện thú vị đằng sau những logo nổi tiếng
Là gương mặt đại diện cho thương hiệu, mỗi logo được tạo ra đều mang...
Th10
Looker Studio là gì? Hướng Dẫn Sử Dụng Looker Studio Từ A-Z
Looker Studio là gì? Looker Studio, trước đây được gọi là Google Data Studio, là...
Th10
Aegisub là gì? Hướng dẫn tải và sử dụng Aegisub để làm phụ đề phim cực đơn giản
Subtitle là một định nghĩa không còn xa lạ với những tín đồ xem phim...
Th10
File .htaccess là gì? Ý nghĩa của file .htaccess trong quản trị website
Trong bài viết này, chúng ta sẽ tìm hiểu về file .htaccess, cách sử dụng...
Th10