The vulnerability is in the plug-in's Bot Blocker functionality and can be exploited remotely by sending HTTP requests with specifically crafted headers to the website.
The Bot Blocker feature is designed to detect and block spam bots based on their user agent and referer header values, according to security researcher David Vaartjes, who found and reported the issue.
If the Track Blocked Bots setting is enabled -- it's not by default -- the plug-in will log all requests that were blocked and will display them on an HTML page inside the site's admin panel.
Because the plug-in fails to properly sanitize the requests before displaying them, attackers can inject malicious JavaScript code in the request headers, allowing the code to end up as part of the HTML page.
This allows for a persistent cross-site scripting (XSS) attack, where the rogue code will be executed every time a user views the log page. Because that page is in the admin panel, that user will likely be the administrator, and the code can steal their session tokens.
These tokens are values stored inside the browser that allows a website to identify a logged in user. By placing these values in their own browsers, attackers could access the website as an administrator without having to authenticate.
The rogue code could also force the administrator's browser to perform an action that they haven't authorized.
The All in One SEO Pack developer, a company called Semper Fi Web Design, has released version 2.3.7 Friday in order to fix this vulnerability. Users are advised to upgrade to this version as soon as possible or to make sure they don't have the Track Blocked Bots setting enabled.
All in One SEO Pack provides a lot of search engine optimization features meant to increase a website's visibility in search results. According to statistics from the WordPress plug-ins repository, it is popular, with over one million active installations.