Lỗ hổng Symfony khiến các website dùng Drupal bị tấn công

0
473
Symfony

Drupal, hệ thống quản lý nội dung mã nguồn mở (CMS) phổ biến hiện nay vừa pt 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 đó: AdministerLogsStatus 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

Theo The Hacker News/WhiteHat​