AdRotate Switch Security & Risk Analysis

wordpress.org/plugins/adrotate-switch

Looking for a fresh start with AdRotate Banner Manager or AdRotate Professional but you don't want to have to re-do all your ads?

70 active installs v1.12 PHP + WP 4.6+ Updated Mar 13, 2020
ad-injectionadrotateadrotate-switchadvert-migrationmax-banner-ads
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is AdRotate Switch Safe to Use in 2026?

Generally Safe

Score 85/100

AdRotate Switch has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 6yr ago
Risk Assessment

The static analysis of AdRotate Switch v1.12 reveals a generally good security posture with no recorded vulnerabilities and a limited attack surface. The plugin reports zero AJAX handlers, REST API routes, shortcodes, or cron events, significantly reducing potential entry points for attackers. Furthermore, the absence of external HTTP requests and file operations minimizes risks associated with these common attack vectors.

However, there are notable areas for concern. The presence of two instances of the `unserialize` function is a significant risk, as it can lead to Remote Code Execution vulnerabilities if untrusted data is unserialized. Additionally, the plugin performs 15 SQL queries, none of which utilize prepared statements. This practice, coupled with the potential for `unserialize` to inject malicious data, creates a high risk of SQL Injection attacks, especially if any user-controlled data can influence these queries.

The lack of capability checks on any entry points, although the reported entry points are zero, suggests a potential oversight. While the vulnerability history is clean, indicating good past development, the current code analysis highlights critical areas that require immediate attention. The plugin's strengths lie in its minimal attack surface and lack of external dependencies, but the insecure use of `unserialize` and raw SQL queries represent serious weaknesses.

Key Concerns

  • Dangerous function unserialize used
  • SQL queries without prepared statements
  • No capability checks on entry points
Vulnerabilities
None known

AdRotate Switch Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

AdRotate Switch Code Analysis

Dangerous Functions
2
Raw SQL Queries
15
0 prepared
Unescaped Output
19
48 escaped
Nonce Checks
13
Capability Checks
0
File Operations
0
External Requests
0
Bundled Libraries
0

Dangerous Functions Found

unserializeif(strlen(unserialize($meta_advert['custom_html'][0])['html']) > 0) {import\adrotate-advanced-advertising-system.php:41
unserialize$adcode = str_replace('%link%', $meta_advert['banner_link'][0], unserialize($meta_advert['custom_htmimport\adrotate-advanced-advertising-system.php:42

SQL Query Safety

0% prepared15 total queries

Output Escaping

72% escaped67 total outputs
Attack Surface

AdRotate Switch Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 16
actionadmin_menuadrotate-switch.php:32
actionadmin_print_stylesadrotate-switch.php:33
filterplugin_action_linksadrotate-switch.php:35
actioninitadrotate-switch.php:40
actioninitadrotate-switch.php:45
actioninitadrotate-switch.php:50
actioninitadrotate-switch.php:55
actioninitadrotate-switch.php:60
actioninitadrotate-switch.php:65
actioninitadrotate-switch.php:70
actioninitadrotate-switch.php:75
actioninitadrotate-switch.php:80
actioninitadrotate-switch.php:85
actioninitadrotate-switch.php:90
actioninitadrotate-switch.php:95
actioninitadrotate-switch.php:100
Maintenance & Trust

AdRotate Switch Maintenance & Trust

Maintenance Signals

WordPress version tested5.4.19
Last updatedMar 13, 2020
PHP min version
Downloads14K

Community Trust

Rating100/100
Number of ratings2
Active installs70
Developer Profile

AdRotate Switch Developer Profile

Arnan de Gans

6 plugins · 23K total installs

76
trust score
Avg Security Score
95/100
Avg Patch Time
1353 days
View full developer profile
Detection Fingerprints

How We Detect AdRotate Switch

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/adrotate-switch/images/icon-menu.png/wp-content/plugins/adrotate-switch/css/adrotate-switch-dashboard.css
Script Paths
/wp-content/plugins/adrotate-switch/js/adrotate-switch-dashboard.js
Version Parameters
adrotate-switch/css/adrotate-switch-dashboard.css?ver=adrotate-switch/js/adrotate-switch-dashboard.js?ver=

HTML / DOM Fingerprints

CSS Classes
ajdg-postboxajdg-postbox-titleajdg-postbox-content
HTML Comments
COPYRIGHT AND TRADEMARK NOTICECOPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
Data Attributes
name="adrotateswitch_import_mba"name="adrotateswitch_import_ubm"name="adrotateswitch_import_sam"name="adrotateswitch_import_bannerize"name="adrotateswitch_import_wp125"name="adrotateswitch_import_wppas"+7 more
FAQ

Frequently Asked Questions about AdRotate Switch