All in One SEO Pack is one of the most popular plugins for WordPress. It is actually the most downloaded plugin, with approximately 30 million downloads! Any security-related issue with such a trendy application would be a nightmare for users. Unfortunately, security research has revealed a vulnerability within the plugin that could enable an attacker to store malicious code in WP’s admin panel.
Security researcher David Vaartjes describes the vulnerability as a stored Cross-Site Scripting vulnerability, found in the Bot Blocker functionality of the All in One SEO Pack WordPress Plugin. The researcher has tested the issue on the All in One SEO Pack WordPress Plugin version 188.8.131.52.
What Is All in One SEO Pack WordPress Plugin?
The plugin is very popular, reportedly “the most downloaded plugin for WordPress”. It helps users and webmasters automatically optimize their site for search engines by providing simple settings to toggle on and off.
Details about the Bot Blocker Vulnerability
A stored Cross-Site Scripting vulnerability exists in the Bot Blocker functionality of the All in One SEO Pack WordPress Plugin (1+ million active installs). Particularly interesting about this issue is that an anonymous user can simply store his XSS payload in the Admin dashboard by just visiting the public site with a malformed User Agent or Referrer header.
Why is the Bot Blocker functionality used? The functionality helps prevent certain bots from crawling or even accessing a website. Detection of bots is possible thanks to User Agent and Referrer header patterns. When the User Agent contains one of the pre-configured list of bot names like “Abonti”, “Bullseye” or “Exabot” the request is blocked and a 404 is returned, the researcher explains. When the Track Blocked Bots setting is enabled (it’s not enabled by default), blocked requests are logged in the HTML page without the needed sanitization or output encoding. This is how an XSS is allowed.
Is the All in One SEO Pack Issue Fixed?
Fortunately for WordPress admins using the plugin, the bug has been fixed in its latest version – All in One SEO Pack 2.3.7. Also, keep in mind that the attack was tested by David Vaartjes in the plugin’s version 184.108.40.206. Older versions may be exposed to the issue, too. In all cases, it’s highly recommended that you update to the latest version as soon as possible.