Contact Form 7 một trong những plugin rất phổ biến trên nền tảng WordPress đã xuất hiện 1 lỗ hổng nghiêm trọng. Lỗ hổng này cho phép tải lên tập tin bất kỳ có thể thực thi lệnh trên máy chủ.
Một bản chỉnh sửa gấp đã được xuất bản. Tuy nhiên, hiện có hơn 5 triệu website đang hoạt động có thể gặp nguy cơ bị tấn công bất kỳ lúc nào.
Tải file lên không giới hạn tên
Nếu bạn đang sở hữu WordPress website có sử dụng Contact Form 7 thì việc nâng nấp plugin này vô cùng cấp bách.
Nhóm phát triển dự án đã tiết lộ lỗ hổng với mã CVE-2020-35489 cho phép kẻ tấn công bỏ qua các biện pháp bảo vệ tên tập tin tải lên của hệ thống và cho phép hacker có thể tạo thủ công mã bất kỳ có thể chạy trên website.
Lỗ hổng này được phát hiện và báo cáo bởi Jinson Varghese Behanan, một nhà phân tích bảo mật thông tin của Astra Security.
Trong phát biểu của Behanan có nói: “Chúng tôi phát hiện ra lỗi này khi đang tiến hành kiểm tra bảo mật cho khách hàng. Tuy nhiên, khi nhận thấy một lượng lớn website WordPress đang sử dụng plugin này, chúng tôi nhanh chóng báo cáo lỗ hổng này.”
“Nhóm phát triển gần như ngay lập tức chỉnh sửa lỗ hổng này. Chúng tôi đánh giá cao nỗ lực chỉnh sửa của nhóm đội phát triển Contact Form 7. “
Contact Form 7 cũng có phản hồi: “Phiên bản Contact Form 7 5.3.2 đã được công khai. Đây là phiên bản nhằm vá gấp lỗ hổng bảo mật này. Chúng tôi khuyên bạn hãy cập nhật nó ngay lập tức.”
Lỗi double-extension trong mã của Contact Form 7
Sự cố xảy ra trong tệp tin include/formatting.php là một phần của mã plugin Contact Form 7.
Trong các phiên bản bị tấn công, plugin không xóa các ký tự đặc biệt khỏi tên tệp đã tải lên, bao gồm ký tự điều khiển và dấu khoảng trắng. Điều này tạo điều kiện cho kẻ tấn công có thể tải tên tệp chứa phần mở rộng kép, được phân tách bằng ký tự đặc biệt hoặc không hiển thị ra văn bản, chẳng hạn như tệp có tên như “abc.php .jpg.”
Trong ví dụ trên, dấu phân cách giữa hai phần mở rộng là một ký tự tab (\t).
Đối với giao diện của người dùng, có thể được xem là tệp hình ảnh (* .jpg). Tuy nhiên, khi được tải lên máy chủ, Contact Form 7 sẽ phân tích cú pháp tên tệp cho đến phần mở rộng đầu tiên và loại bỏ phần mở rộng thứ hai do dấu phân tách.
Do đó, tên tệp mới sẽ biến thành “abc.php” – một tập lệnh PHP, mà kẻ tấn công hiện có thể truy cập để thực hiện các mã tùy ý trên máy chủ.
Đội dự án đã nhanh chóng tiến hành bản sửa lỗi, như hình bên dưới, để bắt các trường hợp chứa xác thực dựa trên regex:
Đây không phải là trường hợp đầu tiên về sự nghiêm trọng của lỗ hổng mở rộng kép, nó đang ẩn nấu trong các nền tảng của blog và CMS.
Tháng trước, các nhà phân tích đã phát hiện trang web Drupal đã xuất hiện lỗ hổng tải tệp tin mở rộng kép. Tháng 4 năm nay, mô-đun NodeJS có thể được khai thác để thực hiện mã từ xa bằng cách tải tệp lên.
Bạn có thể tải phiên bản 5.3.2 đã chỉnh sửa của plugin từ WordPress tại đây.
Nếu bạn đang dùng Contact Form 7 nên áp dụng ngay bản cập nhật khẩn cấp này.
Beelancer Việt Nam nền tảng kết nối Freelancer tốt nhất đã có mặt trên Apple Store và Google Play. Nếu bạn đang làm Freelancer trên nền tảng WordPress hãy đăng tải dịch vụ của bạn lên nền tảng ngay hôm nay hoàn toàn miễn phí.
Website Beelancer Việt Nam | https://www.beelancer.vn |
Fanpage Facebook | https://www.facebook.com/beelancer.vn |
Youtube | Đi tới kênh Youtube |
Mobile App trên Apple Store | Tải tại đây |
Mobile App trên Google Play | Tải tại đây |