[WordPress] – 7 Lỗ hổng về vấn đề giải nén đã được cập nhật trong bản vá WP 5.4.1.
Phiên bản WordPress Core 5.4.1 vừa được phát hành. Vì bản phát hành này được đánh dấu là bản cập nhật bảo mật và sửa lỗi kết hợp, bạn nên cập nhật càng sớm càng tốt, hầu hết các bản sửa lỗi bảo mật là dành cho các lỗ hổng thường liên quan tới các trường hợp cụ thể mà kẻ xấu có thể khai thác.
Tất cả trong bản phát hành này có 7 bản sửa lỗi bảo mật, 5 trong số đó là các lỗ hổng XSS (Cross-Site Scripting). Cả hai phiên bản Wordfence miễn phí và Premium đều có tính năng bảo vệ XSS tích hợp mạnh mẽ sẽ bảo vệ chống lại việc khai thác tiềm năng các lỗ hổng này.
Cross-site scripting là một lỗ hổng phổ biến trong ứng dụng web. Để khai thác một lỗ hổng XSS, hacker sẽ chèn mã độc thông qua các đoạn script để thực thi chúng ở phía client (là người dùng truy cập website). Thông thường, các cuộc tấn công XSS được sử dụng để vượt qua các kiểm soát truy cập và mạo danh người dùng.
Phân loại: Có 3 loại Reflected XSS, Stored XSS và DOM-based XSS
Danh sách các tệp được thay đổi.
/wp-admin/css/about.css /wp-admin/css/edit.css /wp-admin/freedoms.php /wp-admin/images/w-logo-blue.png /wp-admin/includes/deprecated.php /wp-includes/assets/script-loader-packages.php /wp-includes/blocks/rss.php /wp-includes/blocks/search.php /wp-includes/cache.php /wp-includes/class-wp-customize-manager.php /wp-includes/class-wp-object-cache.php /wp-includes/class-wp-query.php /wp-includes/css/media-views.css /wp-includes/deprecated.php /wp-includes/formatting.php /wp-includes/post.php /wp-includes/rest-api/endpoints/class-wp-rest-controller.php /wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php /wp-includes/taxonomy.php /wp-includes/user.php /wp-includes/version.php /wp-mail.php /wp-settings.php
Phân tích từng vấn đề bảo mật
01 : Mã thông báo đặt lại mật khẩu không được xác thực hợp lệ
Nếu yêu cầu đặt lại mật khẩu cho người dùng, nhưng sau đó họ đăng nhập và cập nhật thủ công mật khẩu của họ trên trang hồ sơ, liên kết đặt lại mật khẩu được gửi qua email vẫn có thể được sử dụng. Trước đây, liên kết đặt lại mật khẩu sẽ chỉ bị vô hiệu nếu người dùng thay đổi địa chỉ email của họ. Không có nhiều tình huống trong đó loại vấn đề này có thể có vấn đề trừ khi kẻ tấn công đã có quyền truy cập vào tài khoản email của nạn nhân, đây thực sự là một tình huống xấu nhất. Thay đổi mã (diff) trong câu hỏi là:
https://core.trac.wordpress.org/changeset/47634/
Lỗ hổng này được phát hiện và báo cáo độc lập bởi cả Muaz Bin Abdus Sattar và Jannes .
02 : Một số bài đăng riêng tư có thể được xem bởi người dùng không được xác thực
Bộ thay đổi này có nhận xét sau: Truy vấn của 1999: Đảm bảo rằng chỉ một bài đăng có thể được trả về theo các truy vấn dựa trên ngày / giờ.
Điều này cho thấy rằng kẻ tấn công có thể xem các bài đăng riêng tư bằng cách sử dụng các truy vấn dựa trên ngày và thời gian, mặc dù chỉ đối với các bài đăng được bảo vệ được tạo hoặc cập nhật cùng lúc, xuống thứ hai, như một bài đăng không được bảo vệ. Khác biệt trong câu hỏi là:
https://core.trac.wordpress.org/changeset/47635/
Điều này đã được ka1n4t phát hiện và có vẻ giống với CVE-2019-17671, trong đó nhiều bài đăng được trả về từ một truy vấn và chỉ bài đăng đầu tiên được kiểm tra để đảm bảo rằng nó sẽ được hiển thị công khai.
03 : Hai vấn đề XSS trong trình tùy biến
Những lỗ hổng này dường như cho phép tham nhũng nội dung bài đăng của nhiều người dùng và có thể cho phép bổ sung javascript độc hại bởi một kẻ tấn công được xác thực có khả năng đóng góp. Người dùng có khả năng viết bài đăng (chẳng hạn như cộng tác viên hoặc tác giả) mà không có unfiltered_html
khả năng và quản trị viên hoặc biên tập viên có thể làm hỏng dữ liệu từ các bản nháp của nhau, có khả năng thêm JavaScript độc hại vào bản xem trước hoặc phiên bản cuối cùng của bài đăng. Khác biệt trong câu hỏi là:
https://core.trac.wordpress.org/changeset/47633/
Những lỗ hổng này được phát hiện và báo cáo bởi Evan Ricafort và Weston Ruter .
04 : Sự cố XSS trong khối tìm kiếm
Điều này thực sự dường như đề cập đến hai lỗ hổng riêng biệt có cùng cơ chế trong cả khối RSS và khối Tìm kiếm. Kẻ tấn công có khả năng tùy chỉnh lớp của một trong hai khối này (chẳng hạn như người đóng góp) có khả năng đặt lớp khối theo cách mà JavaScript độc hại sẽ được thực thi khi xem hoặc xem trước bài đăng. Khác biệt trong câu hỏi là:
https://core.trac.wordpress.org/changeset/47636/
Lỗ hổng này được phát hiện và báo cáo bởi Ben Bidner từ Nhóm bảo mật WordPress.
05 : Một vấn đề XSS trong wp-object-cache
Object Cache được sử dụng để lưu các chuyến đi đến cơ sở dữ liệu bằng cách lưu nội dung từ cơ sở dữ liệu và làm cho nội dung bộ đệm có sẵn bằng cách sử dụng một khóa, được sử dụng để đặt tên và sau đó lấy nội dung bộ đệm.
Trong một vài trường hợp cạnh, kẻ tấn công có khả năng thay đổi các khóa bộ đệm đối tượng có thể có thể đặt một trong các khóa bộ đệm này thành JavaScript độc hại. Theo mặc định, WordPress không hiển thị các số liệu thống kê này và cũng không cho phép người dùng thao tác trực tiếp các phím bộ đệm.
Có thể một plugin hoặc tổ hợp plugin được lập trình không đúng có thể cho phép kẻ tấn công thao tác khóa bộ đệm và dẫn đến giá trị không được hiển thị cho quản trị viên xem các thống kê này thông qua plugin hoặc mã tùy chỉnh được thiết kế để hiển thị chúng. Khác biệt trong câu hỏi là:
https://core.trac.wordpress.org/changeset/47637/
Lỗ hổng này được phát hiện bởi Nick Daugherty từ Nhóm bảo mật VIP / WordPress của WordPress.
06 : Một vấn đề XSS trong tải lên tập tin
Lỗ hổng đặc biệt này có thể cho phép người dùng có khả năng ‘upload_files’ (Tác giả trở lên trong cài đặt mặc định) tải lên tệp có tên tệp được đặt thành JavaScript độc hại, có thể được thực thi khi xem tệp trong thư viện phương tiện. Khác biệt trong câu hỏi là:
https://core.trac.wordpress.org/changeset/47638/
Lỗ hổng này được phát hiện và báo cáo độc lập bởi cả Ronnie Goodrich ( Kahoots ) và Jason Medeiros .
07 : Một vấn đề XSS được xác thực trong trình chỉnh sửa khối
Lỗ hổng này tồn tại trong một vài ứng cử viên phát hành, và dường như chưa từng có mặt trong một bản phát hành chính thức. Nó được Nguyễn Đức phát hiện trong WordPress 5.4 RC1 và RC2, và nó đã được sửa trong 5.4 RC5.
Bạn nên làm gì ?
Trong lúc này bạn cần kiểm tra lại toàn bộ Plugin của bạn đang sử dụng trên website đã được cập nhật ở phiên bản mới chưa, nếu chưa bạn nên cân nhắc tạo bản Backup cho website và tiến hành nâng cấp các plugin của bạn ở phiên bản mới.
Một số plugin trả phí mà bạn không có license kích hoạt thì bạn có thể bỏ qua vì phần lớn bản trả phí các tác giả đã làm tốt phần tối ưu nên khả năng xung đột cũng khá thấp.
Sau khi bạn nâng cấp Plugin bạn có thể nâng cấp website của mình lên phiên bản mới, WordPress sẽ thông báo cho bạn cập nhật tại trang bảng tin. Bằng cách nhấn vào Nâng cấp ngay giống như hình dưới đây.
Một số trường hợp website của bạn sẽ được tự động nâng cấp và bạn sẽ không cần làm gì cả, bạn có thể sẽ nhận được Email (Nếu website của bạn có thể gửi Mail)
Nếu bạn không thấy thông tin có thể truy cập theo thông tin đường dẫn của website của bạn. yourdomain.com/wp-admin/update-core.
Chúc bạn thành công,
Bài viết được dựa theo Wordfence – https://www.wordfence.com/blog/2020/04/unpacking-the-7-vulnerabilities-fixed-in-todays-wordpress-5-4-1-security-update/