Lỗ hổng cho phép thay thế mã JavaScript thông qua plugin OptinMonster WordPress

Một lỗ hổng (CVE-2021-39341) đã được xác định trong tiện ích bổ sung OptinMonster WordPress, có hơn một triệu lượt cài đặt đang hoạt động và được sử dụng để hiển thị các thông báo và ưu đãi bật lên, cho phép bạn đặt mã JavaScript của mình trên một trang web bằng cách sử dụng tiện ích bổ sung được chỉ định. Lỗ hổng đã được sửa trong bản phát hành 2.6.5. Để chặn quyền truy cập thông qua các khóa đã chụp sau khi cài đặt bản cập nhật, các nhà phát triển OptinMonster đã thu hồi tất cả các khóa truy cập API đã tạo trước đó và thêm các hạn chế về việc sử dụng khóa trang web WordPress để sửa đổi các chiến dịch OptinMonster.

Sự cố xảy ra do sự hiện diện của REST-API /wp-json/omapp/v1/support, có thể được truy cập mà không cần xác thực - yêu cầu được thực thi mà không cần kiểm tra bổ sung nếu tiêu đề Người giới thiệu có chứa chuỗi “https://wp .app.optinmonster.test” và khi đặt loại yêu cầu HTTP thành "TÙY CHỌN" (bị ghi đè bởi tiêu đề HTTP "X-HTTP-Method-Override"). Trong số dữ liệu được trả về khi truy cập REST-API được đề cập, có một khóa truy cập cho phép bạn gửi yêu cầu tới bất kỳ trình xử lý REST-API nào.

Bằng cách sử dụng khóa thu được, kẻ tấn công có thể thực hiện các thay đổi đối với bất kỳ khối bật lên nào được hiển thị bằng OptinMonster, bao gồm cả việc tổ chức thực thi mã JavaScript của hắn. Có được cơ hội thực thi mã JavaScript của mình trong ngữ cảnh của trang web, kẻ tấn công có thể chuyển hướng người dùng đến trang web của mình hoặc tổ chức thay thế một tài khoản đặc quyền trong giao diện web khi quản trị viên trang web thực thi mã JavaScript được thay thế. Có quyền truy cập vào giao diện web, kẻ tấn công có thể thực thi mã PHP của mình trên máy chủ.

Nguồn: opennet.ru

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