Lỗ hổng trong thư viện PharStreamWrapper ảnh hưởng đến Drupal, Joomla và Typo3

Trong thư viện PharStreamWrapper, cung cấp các trình xử lý để bảo vệ chống lại của các cuộc tấn công thông qua việc thay thế tập tin ở định dạng “Phar”, xác định sự dễ bị tổn thương (CVE-2019-11831), cho phép bạn bỏ qua tính năng bảo vệ khử tuần tự hóa mã bằng cách thay thế các ký tự “..” trong đường dẫn. Ví dụ: kẻ tấn công có thể sử dụng URL như “phar:///path/bad.phar/../good.phar” để tấn công và thư viện sẽ đánh dấu tên cơ sở “/path/good.phar” khi đang kiểm tra, mặc dù trong quá trình xử lý thêm đường dẫn như vậy Tệp "/path/bad.phar" sẽ được sử dụng.

Thư viện được phát triển bởi những người tạo ra CMS TYPO3, nhưng cũng được sử dụng trong các dự án Drupal và Joomla, khiến chúng cũng dễ bị tổn thương. Đã khắc phục sự cố trong bản phát hành PharStreamWrapper 2.1.1 và 3.1.1. Dự án Drupal đã khắc phục sự cố trong các bản cập nhật 7.67, 8.6.16 và 8.7.1. Trong Joomla vấn đề này xuất hiện từ phiên bản 3.9.3 và đã được sửa trong phiên bản 3.9.6. Để khắc phục sự cố trong TYPO3, bạn cần cập nhật thư viện PharStreamWapper.

Về mặt thực tế, một lỗ hổng trong PharStreamWapper cho phép người dùng Drupal Core có quyền 'Quản trị chủ đề' tải lên tệp phar độc hại và khiến mã PHP chứa trong đó được thực thi dưới vỏ bọc của một kho lưu trữ phar hợp pháp. Hãy nhớ lại rằng bản chất của cuộc tấn công “giải tuần tự hóa Phar” là khi kiểm tra các tệp trợ giúp đã tải của hàm PHP file_exists(), hàm này sẽ tự động giải tuần tự hóa siêu dữ liệu từ các tệp Phar (PHP Archive) khi xử lý các đường dẫn bắt đầu bằng “phar://” . Có thể chuyển tệp phar dưới dạng hình ảnh, vì hàm file_exists() xác định loại MIME theo nội dung chứ không phải theo phần mở rộng.

Nguồn: opennet.ru

Thêm một lời nhận xét