Lỗ hổng trong Adblock Plus cho phép thực thi mã khi sử dụng các bộ lọc đáng ngờ

Trong trình chặn quảng cáo Adblock Plus xác định tính dễ bị tổn thương, cho phép tổ chức thực thi mã JavaScript trong ngữ cảnh của các trang web, trong trường hợp sử dụng các bộ lọc chưa được xác minh do kẻ tấn công chuẩn bị (ví dụ: khi kết nối các bộ quy tắc của bên thứ ba hoặc thông qua việc thay thế các quy tắc trong cuộc tấn công MITM).

Tác giả của danh sách có bộ bộ lọc có thể tổ chức thực thi mã của họ trong bối cảnh các trang web được người dùng mở bằng cách thêm quy tắc với toán tử "viết lại", cho phép bạn thay thế một phần URL. Toán tử viết lại không cho phép bạn thay thế máy chủ trong URL nhưng nó cho phép bạn tự do thao tác các đối số yêu cầu. Chỉ cho phép văn bản làm mặt nạ thay thế và cho phép thay thế các thẻ tập lệnh, đối tượng và tài liệu phụ bị chặn.

Tuy nhiên, việc thực thi mã có thể đạt được bằng một giải pháp thay thế.
Một số trang web, bao gồm Google Maps, Gmail và Google Images, sử dụng kỹ thuật tải động các khối JavaScript thực thi được truyền dưới dạng văn bản thuần túy. Nếu máy chủ cho phép chuyển hướng yêu cầu thì có thể thực hiện chuyển tiếp đến máy chủ khác bằng cách thay đổi tham số URL (ví dụ: trong ngữ cảnh của Google, chuyển hướng có thể được thực hiện thông qua API "google.com/search"). Ngoài các máy chủ cho phép chuyển hướng, một cuộc tấn công cũng có thể được thực hiện nhằm vào các dịch vụ cho phép đăng nội dung người dùng (lưu trữ mã, nền tảng đăng bài viết, v.v.).

Phương thức tấn công được đề xuất chỉ ảnh hưởng đến các trang tải động các chuỗi mã JavaScript (ví dụ: thông qua XMLHttpRequest hoặc Fetch) rồi thực thi chúng. Một hạn chế quan trọng khác là nhu cầu sử dụng chuyển hướng hoặc đặt dữ liệu tùy ý ở phía máy chủ ban đầu cấp tài nguyên. Tuy nhiên, để chứng minh mức độ liên quan của cuộc tấn công, nó sẽ hướng dẫn cách tổ chức thực thi mã của bạn khi mở maps.google.com, sử dụng chuyển hướng qua “google.com/search”.

Việc sửa lỗi vẫn đang được chuẩn bị. Vấn đề cũng ảnh hưởng đến trình chặn AdBlock и uBlock. Trình chặn uBlock Origin không bị ảnh hưởng bởi sự cố này vì nó không hỗ trợ toán tử “viết lại”. Đã có lúc tác giả của uBlock Origin
từ chối thêm hỗ trợ viết lại, trích dẫn các vấn đề bảo mật tiềm ẩn và không đủ hạn chế ở cấp độ máy chủ (tùy chọn dải truy vấn đã được đề xuất thay vì viết lại để xóa các tham số truy vấn thay vì thay thế chúng).

Các nhà phát triển Adblock Plus coi các cuộc tấn công thực sự là khó xảy ra vì tất cả các thay đổi đối với danh sách quy tắc tiêu chuẩn đều được xem xét và việc kết nối danh sách của bên thứ ba là cực kỳ hiếm đối với người dùng. Việc thay thế các quy tắc thông qua MITM bị ngăn chặn bởi việc sử dụng HTTPS mặc định để tải xuống các danh sách chặn tiêu chuẩn (đối với các danh sách khác, dự kiến ​​sẽ cấm tải xuống qua HTTP trong bản phát hành trong tương lai). Chỉ thị có thể được sử dụng để chặn một cuộc tấn công từ phía trang web CSP (Chính sách bảo mật nội dung), qua đó bạn có thể xác định rõ ràng các máy chủ mà từ đó tài nguyên bên ngoài có thể được tải.

Nguồn: opennet.ru

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