WhiteHat News #ID:2018
WhiteHat Support
-
20/03/2017
-
129
-
443 bài viết
Lỗ hổng Symfony khiến các website dùng Drupal bị tấn công – Hãy cập nhật bản vá ngay
Drupal, hệ thống quản lý nội dung mã nguồn mở (CMS) phổ biến hiện nay vừa phát hành phiên bản mới để vá lỗ hổng an ninh nghiêm trọng, cho phép kẻ tấn công từ xa kiểm soát các website bị ảnh hưởng.
Lỗ hổng CVE-2018-14773 này nằm trong thành phần thư viện của bên thứ ba, gọi là Symfony HttpFoundation, được sử dụng trong Drupal Core và ảnh hưởng đến các phiên bản từ 8.5.6 trở về trước.
Symfony là một framework ứng dụng web viết bằng ngôn ngữ lập trình PHP được sử dụng nhiều trong các dự án. Lỗ hổng có thể khiến nhiều ứng dụng trước nguy cơ bị hack.
Lỗ hổng trong Symfony Component
Kẻ tấn công từ xa có thể khai thác một giá trị header HTTP 'X-Original-URL' hoặc 'X-Rewrite-URL' được tạo ra một cách đặc biệt, ghi đè đường dẫn yêu cầu URL để có thể qua mặt các giới hạn truy cập và khiến hệ thống mục tiêu hiển thị một URL khác.
Lỗ hổng đã có bản vá trong các phiên bản Symfony 2.7.49, 2.8.44, 3.3.18, 3.4.14, 4.0.14 và 4.1.3. Drupal đã vá lỗi trong phiên bản 8.5.6.
Lỗ hổng tương tự tồn tại trong Zend Framework
Bên cạnh Symfony, đội ngũ phát triển Drupal cũng phát hiện lỗ hổng tương tự tồn tại trong Zend Feed và các thư viện Diactoros có trong Drupal Core, gọi là “Lỗ hổng URL Rewrite”.
Các chuyên gia khuyến cáo quản trị viên vá lỗ hổng trên website của mình nếu site hoặc module trực tiếp sử dụng Zend Feed hoặc Diactoros.
Drupal CMS được sử dụng trên hàng triệu website và thật không may gần đây đã bị tấn công sau khi tiết lộ một lỗ hổng thực thi mã từ xa cực kỳ nghiêm trọng, gọi là Drupalgeddon2
Vì vậy, trước khi hacker bắt đầu khai thác lỗ hổng mới nhằm chiếm quyền kiểm soát website, quản trị viên được khuyến cáo cần cập nhật website ngay lập tức.
Để kiểm tra phiên bản Drupal trên website, quản trị viên có thể dùng một trong các cách sau:
1. Sử dụng chức năng quản trị trên web:
- Phiên bản Drupal 6.0 trở lên: Truy cập vào Administer (or Administration) -> Reports -> Status
- Các phiên bản trước đó: Administer -> Logs -> Status report
2. Đọc file CHANGELOG.txt ở thư mục cài đặt gốc của Drupal
3. Đọc file includes/bootstrap.inc version sẽ xuất hiện ở dòng trên cùng có dạng như sau: define('VERSION', '7.16');
4. Trong các phiên bản Drupal 7 về trước có thể tìm thấy trong modules/system/system.module, trong Drupal 8 kiểm tra ở core/lib/Drupal.php
Để update Drupal lên phiên bản mới nhất có thể tham khảo hướng dẫn sau:
Đối với Drupal 7
Đối với Drupal 8
Lỗ hổng CVE-2018-14773 này nằm trong thành phần thư viện của bên thứ ba, gọi là Symfony HttpFoundation, được sử dụng trong Drupal Core và ảnh hưởng đến các phiên bản từ 8.5.6 trở về trước.
Symfony là một framework ứng dụng web viết bằng ngôn ngữ lập trình PHP được sử dụng nhiều trong các dự án. Lỗ hổng có thể khiến nhiều ứng dụng trước nguy cơ bị hack.
Lỗ hổng trong Symfony Component
Kẻ tấn công từ xa có thể khai thác một giá trị header HTTP 'X-Original-URL' hoặc 'X-Rewrite-URL' được tạo ra một cách đặc biệt, ghi đè đường dẫn yêu cầu URL để có thể qua mặt các giới hạn truy cập và khiến hệ thống mục tiêu hiển thị một URL khác.
Lỗ hổng đã có bản vá trong các phiên bản Symfony 2.7.49, 2.8.44, 3.3.18, 3.4.14, 4.0.14 và 4.1.3. Drupal đã vá lỗi trong phiên bản 8.5.6.
Lỗ hổng tương tự tồn tại trong Zend Framework
Bên cạnh Symfony, đội ngũ phát triển Drupal cũng phát hiện lỗ hổng tương tự tồn tại trong Zend Feed và các thư viện Diactoros có trong Drupal Core, gọi là “Lỗ hổng URL Rewrite”.
Các chuyên gia khuyến cáo quản trị viên vá lỗ hổng trên website của mình nếu site hoặc module trực tiếp sử dụng Zend Feed hoặc Diactoros.
Drupal CMS được sử dụng trên hàng triệu website và thật không may gần đây đã bị tấn công sau khi tiết lộ một lỗ hổng thực thi mã từ xa cực kỳ nghiêm trọng, gọi là Drupalgeddon2
Vì vậy, trước khi hacker bắt đầu khai thác lỗ hổng mới nhằm chiếm quyền kiểm soát website, quản trị viên được khuyến cáo cần cập nhật website ngay lập tức.
Để kiểm tra phiên bản Drupal trên website, quản trị viên có thể dùng một trong các cách sau:
1. Sử dụng chức năng quản trị trên web:
- Phiên bản Drupal 6.0 trở lên: Truy cập vào Administer (or Administration) -> Reports -> Status
- Các phiên bản trước đó: Administer -> Logs -> Status report
2. Đọc file CHANGELOG.txt ở thư mục cài đặt gốc của Drupal
3. Đọc file includes/bootstrap.inc version sẽ xuất hiện ở dòng trên cùng có dạng như sau: define('VERSION', '7.16');
4. Trong các phiên bản Drupal 7 về trước có thể tìm thấy trong modules/system/system.module, trong Drupal 8 kiểm tra ở core/lib/Drupal.php
Để update Drupal lên phiên bản mới nhất có thể tham khảo hướng dẫn sau:
Đối với Drupal 7
Đối với Drupal 8
Theo The Hacker News/ WhiteHat
Chỉnh sửa lần cuối: