SwiftAd Security & Risk Analysis

wordpress.org/plugins/swiftad

Swift Ad lets website administrators easily manage display advertising right from their WordPress website. 

10 active installs v0.5.4 PHP + WP 4.0+ Updated May 24, 2017
advertisinggeo-targetingnative-advertising
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is SwiftAd Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 8yr ago
Risk Assessment

The "swiftad" plugin v0.5.4 exhibits a mixed security posture. On the positive side, it has a limited attack surface with no apparent unprotected entry points like unauthenticated AJAX handlers or REST API routes. The plugin also demonstrates some good practices by including a reasonable number of nonce and capability checks relative to its complexity. Its vulnerability history is clean, with no known CVEs, suggesting a potentially stable codebase in that regard.

However, significant concerns arise from the static analysis. The presence of the `unserialize` function is a critical danger signal, as it can be exploited to introduce arbitrary object injection vulnerabilities if user-controlled data is unserialized without strict validation. Furthermore, the taint analysis reveals a concerning number of flows with unsanitized paths, including three critical severity flows. This indicates a high likelihood of these unsanitized inputs leading to vulnerabilities. The high percentage of SQL queries (83%) not using prepared statements is another major red flag, making the plugin highly susceptible to SQL injection attacks. Coupled with a low rate of proper output escaping (12%), this increases the risk of cross-site scripting (XSS) vulnerabilities. The substantial number of external HTTP requests (14) also presents a potential attack vector if not handled securely, especially when combined with other vulnerabilities.

In conclusion, while the plugin has a clean vulnerability history and a seemingly small attack surface, the code analysis reveals critical weaknesses. The heavy reliance on raw SQL queries, a low rate of output escaping, and particularly the use of `unserialize` alongside unsanitized taint flows represent substantial security risks. The lack of known CVEs should not be misinterpreted as a sign of robust security given these identified code-level vulnerabilities. Remediation of these issues, especially the SQL injection and unserialize-related risks, is strongly recommended.

Key Concerns

  • Use of unserialize function
  • High percentage of unsanitized taint flows
  • Critical severity taint flows
  • High percentage of raw SQL queries
  • Low percentage of properly escaped output
  • High number of external HTTP requests
Vulnerabilities
None known

SwiftAd Security Vulnerabilities

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

SwiftAd Code Analysis

Dangerous Functions
1
Raw SQL Queries
19
4 prepared
Unescaped Output
113
16 escaped
Nonce Checks
6
Capability Checks
4
File Operations
0
External Requests
14
Bundled Libraries
0

Dangerous Functions Found

unserialize$geo = ( empty($default[0]->geo) ? "" : unserialize($default[0]->geo));admin\swiftad_admin_functions.php:270

SQL Query Safety

17% prepared23 total queries

Output Escaping

12% escaped129 total outputs
Data Flows
5 unsanitized

Data Flow Analysis

8 flows5 with unsanitized paths
swiftad_display_inject (swiftad-functions.php:17)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

SwiftAd Attack Surface

Entry Points2
Unprotected0

Shortcodes 2

[swiftad_adslot] swiftad.php:79
[swiftad] swiftad.php:87
WordPress Hooks 25
actionsave_postadmin\swiftad_admin_functions.php:161
actionsave_postadmin\swiftad_admin_functions.php:162
actionadd_meta_boxesadmin\swiftad_admin_functions.php:188
actionwpsa_notificationsadmin\wpsa-notifications.php:178
actionswiftad_tasks_dailyswiftad.php:62
filterwidget_textswiftad.php:77
actionwp_footerswiftad.php:80
actionwp_enqueue_scriptsswiftad.php:81
filterwidget_textswiftad.php:82
actionloop_startswiftad.php:83
filtermanage_swiftad_post_type_posts_columnsswiftad.php:145
actionmanage_swiftad_post_type_posts_custom_columnswiftad.php:146
actionadmin_menuswiftad.php:199
actioninitswiftad.php:200
actionsave_postswiftad.php:204
actionsave_postswiftad.php:205
actiontransition_post_statusswiftad.php:206
actionadmin_enqueue_scriptsswiftad.php:208
actionwp_logoutswiftad.php:209
actionwp_loginswiftad.php:210
actionadmin_noticesswiftad.php:211
actioninitswiftad.php:218
actioninitswiftad.php:219
actionadmin_headswiftad.php:223
actionin_admin_headerswiftad.php:224

Scheduled Events 1

swiftad_tasks_daily
Maintenance & Trust

SwiftAd Maintenance & Trust

Maintenance Signals

WordPress version tested4.7.32
Last updatedMay 24, 2017
PHP min version
Downloads2K

Community Trust

Rating100/100
Number of ratings3
Active installs10
Developer Profile

SwiftAd Developer Profile

Richard Alva

1 plugin · 10 total installs

84
trust score
Avg Security Score
85/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect SwiftAd

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/swiftad/admin/css/swift_header.css/wp-content/plugins/swiftad/includes/js/swiftad.js/wp-content/plugins/swiftad/includes/css/swiftad.css
Script Paths
/wp-content/plugins/swiftad/includes/js/swiftad.js
Version Parameters
swiftad/includes/js/swiftad.js?ver=swiftad/includes/css/swiftad.css?ver=

HTML / DOM Fingerprints

CSS Classes
swiftad-admin-wrapswiftad-admin-logo-barswiftad-admin-logoswiftad-admin-title-buttonsswiftad-btn-rainbowswiftad-ad-containerswiftad-ad-slot
Data Attributes
data-swiftad-iddata-swiftad-sizedata-swiftad-type
JS Globals
swiftad_params
Shortcode Output
[swiftad_adslot][swiftad]
FAQ

Frequently Asked Questions about SwiftAd