Một lỗ hổng DOM XSS trong plugin WordPress SEO by Yoast đã được báo cáo 2 năm trước bởi một thành viên có tên tài khoản “badconker”. Tác giả của plugin nói rằng nó đã được vá nhưng nhà bảo mật Charles Neill phát hiện ra dường như lỗ hổng đã xuất hiện trở lại. Nếu bạn đang sử dụng plugin này, tôi khuyên bạn nên cập nhật lên phiên bản mới nhất (2.2.1).

Lỗ hổng DOM XSS trong WordPress SEO by Yoast

WordPress-SEO-by-Yoast-DOM-XSS
Lỗ hổng DOM XSS trong plugin WordPress SEO by Yoast

URL chứa lỗ hổng

/wp-admin/post-new.php?post_title=<img src=x onerror=alert(1)>

Đoạn mã chứa lỗ hổng (wordpress-seo/js/wp-seo-metabox.js)

WordPress-SEO-by-Yoast-DOM-XSS-2

Đoạn mã chứa lỗ hổng xuất hiện tại dòng 6, khi hàm yst_clean thực hiện lấy văn bản từ tham số str thông qua hàm .html() của jQuery. Điều này nghĩa là các đoạn mã HTML bất kỳ sẽ được thực thi khi hàm yst_clean được gọi tới.

Trong phiên bản 2.2, có vẻ như tác giả đã sửa lỗi bằng cách di chuyển dòng gọi .html() xuống dưới các đoạn mã biểu thức chính quy để loại bỏ các thẻ HTML nguy hiểm.

WordPress-SEO-by-Yoast-DOM-XSS-3

Link: https://github.com/Yoast/wordpress-seo/blob/2.2.1/js/wp-seo-metabox.js#L22-24

Lỗ hổng đã được khắc phục trong phiên bản mới nhất của plugin WordPress Seo by Yoast.

Video Demo khai thác lỗ hổng XSS/CSRF

Chia sẻ bài viết này