TopSMS Security & Risk Analysis

wordpress.org/plugins/topsms

Enhance your WooCommerce store with automated SMS notifications based on order status changes. Built exclusively for Australian businesses.

40 active installs v2.0.19 PHP 7.4+ WP 5.0+ Updated Nov 18, 2025
analyticsnotificationsordersmswoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is TopSMS Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs Updated 9mo ago
Risk Assessment

The topsms v2.0.19 plugin exhibits a mixed security posture. While it demonstrates good practices in areas like SQL query preparation and output escaping, the presence of unprotected AJAX handlers and a REST API route without permission callbacks introduces significant risk. The taint analysis revealing seven flows with unsanitized paths, all marked as high severity, is a critical concern that requires immediate attention. These unsanitized flows indicate potential for severe security vulnerabilities, despite the lack of recorded CVEs. The plugin's history of zero known vulnerabilities is positive, suggesting diligent development or a lack of past exploitation. However, the current static analysis findings, particularly the taint flow issues and unprotected entry points, highlight a pressing need for security hardening.

Key Concerns

  • AJAX handlers without auth checks
  • REST API route without permission callback
  • High severity taint flows (unsanitized paths)
Vulnerabilities
None known

TopSMS Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

TopSMS Release Timeline

v2.0.19Current
v2.0.18
v2.0.17
v2.0.16
v2.0.15
v2.0.14
v2.0.13
v2.0.12
v2.0.11
v2.0.10
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
Code Analysis
Analyzed Mar 16, 2026

TopSMS Code Analysis

Dangerous Functions
0
Raw SQL Queries
4
140 prepared
Unescaped Output
6
143 escaped
Nonce Checks
11
Capability Checks
18
File Operations
1
External Requests
12
Bundled Libraries
0

SQL Query Safety

97% prepared144 total queries

Output Escaping

96% escaped149 total outputs
Data Flows · Security
7 unsanitized

Data Flow Analysis

8 flows7 with unsanitized paths
extra_tablenav (admin\class-topsms-contacts-list-admin.php:530)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
5 unprotected

TopSMS Attack Surface

Entry Points22
Unprotected5

AJAX Handlers 4

authwp_ajax_topsms_save_contacts_list_filterincludes\class-topsms.php:156
authwp_ajax_topsms_delete_contacts_list_filterincludes\class-topsms.php:157
authwp_ajax_topsms_update_consentincludes\class-topsms.php:188
noprivwp_ajax_topsms_update_consentincludes\class-topsms.php:189

REST API Routes 18

POST/wp-json/topsms/v1/send-otpadmin\class-topsms-admin.php:164
POST/wp-json/topsms/v1/verify-otpadmin\class-topsms-admin.php:177
GET/wp-json/topsms/v1/automations/status/(?P<status_key>[a-zA-Z0-9_-]+)admin\class-topsms-admin.php:190
POST/wp-json/topsms/v1/automations/status/saveadmin\class-topsms-admin.php:203
POST/wp-json/topsms/v1/automations/status/save-templateadmin\class-topsms-admin.php:216
GET/wp-json/topsms/v1/settings/(?P<key>[a-zA-Z0-9_-]+)admin\class-topsms-admin.php:229
POST/wp-json/topsms/v1/settings/saveadmin\class-topsms-admin.php:242
POST/wp-json/topsms/v1/settings/save-surchargeadmin\class-topsms-admin.php:255
POST/wp-json/topsms/v1/settings/save-inputadmin\class-topsms-admin.php:268
GET/wp-json/topsms/v1/useradmin\class-topsms-admin.php:281
GET/wp-json/topsms/v1/logsadmin\class-topsms-admin.php:294
POST/wp-json/topsms/v2/send-smsadmin\class-topsms-admin.php:349
GET/wp-json/topsms/v2/bulksms/listsadmin\class-topsms-admin.php:362
GET/wp-json/topsms/v2/bulksms/lists/(?P<filter_id>[a-zA-Z0-9_]+)admin\class-topsms-admin.php:375
GET/wp-json/topsms/v2/bulksms/clear-transientadmin\class-topsms-admin.php:388
GET/wp-json/topsms/v2/bulksms/schedule-campaignadmin\class-topsms-admin.php:401
GET/wp-json/topsms/v2/bulksms/save-campaignadmin\class-topsms-admin.php:414
GET/wp-json/topsms/v2/bulksms/campaign-statusadmin\class-topsms-admin.php:427
WordPress Hooks 26
actionadmin_enqueue_scriptsincludes\class-topsms.php:135
actionadmin_enqueue_scriptsincludes\class-topsms.php:136
actionadmin_menuincludes\class-topsms.php:139
actionrest_api_initincludes\class-topsms.php:142
actionadmin_initincludes\class-topsms.php:145
filtercron_schedulesincludes\class-topsms.php:148
actiontopsms_refresh_tokens_hookincludes\class-topsms.php:149
actionwp_loadedincludes\class-topsms.php:150
actionwoocommerce_order_status_changedincludes\class-topsms.php:153
actioninitincludes\class-topsms.php:160
actionadmin_headincludes\class-topsms.php:163
actionwp_enqueue_scriptsincludes\class-topsms.php:177
actionwp_enqueue_scriptsincludes\class-topsms.php:178
actionwoocommerce_review_order_before_submitincludes\class-topsms.php:181
actionwoocommerce_checkout_update_order_metaincludes\class-topsms.php:182
actionwoocommerce_cart_calculate_feesincludes\class-topsms.php:185
filterwoocommerce_account_menu_itemsincludes\class-topsms.php:192
actioninitincludes\class-topsms.php:193
actionwoocommerce_account_sms-notifications_endpointincludes\class-topsms.php:194
actionadmin_enqueue_scriptstopsms-analytics\topsms-analytics.php:86
filterwoocommerce_analytics_report_menu_itemstopsms-analytics\topsms-analytics.php:88
actioninittopsms-analytics\topsms-analytics.php:90
actionadmin_noticestopsms.php:66
actionadmin_inittopsms.php:97
actionbefore_woocommerce_inittopsms.php:100
actionplugins_loadedtopsms.php:167

Scheduled Events 1

topsms_refresh_tokens_hook
Maintenance & Trust

TopSMS Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.6
Last updatedNov 18, 2025
PHP min version7.4
Downloads1K

Community Trust

Rating100/100
Number of ratings3
Active installs40
Developer Profile

TopSMS Developer Profile

TopSMS

1 plugin · 40 total installs

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

How We Detect TopSMS

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/topsms/css/topsms-admin.css/wp-content/plugins/topsms/css/topsms-admin-app.css/wp-content/plugins/topsms/js/topsms-admin-script.js/wp-content/plugins/topsms/js/topsms-public.js
Script Paths
/wp-content/plugins/topsms/js/topsms-admin-script.js/wp-content/plugins/topsms/js/topsms-public.js
Version Parameters
topsms-admin-style?ver=topsms/css/topsms-admin-app.css?ver=topsms-admin-script?ver=topsms-public?ver=

HTML / DOM Fingerprints

CSS Classes
topsms-admin-apptopsms_wrapper
Data Attributes
data-plugin-name="Topsms"data-plugin-version="2.0.19"
JS Globals
topsms_admin_script_paramstopsms_public_script_params
FAQ

Frequently Asked Questions about TopSMS