OptiPub Security & Risk Analysis

wordpress.org/plugins/optipub

Sync OptiPub content to WordPress with automated cron jobs and custom post types.

0 active installs v1.0.14 PHP 7.4+ WP 5.0+ Updated Unknown
api-integrationcontent-synccustom-post-typesoptipubwidgets
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is OptiPub Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs
Risk Assessment

The optipub v1.0.14 plugin exhibits a mixed security posture. On the positive side, it demonstrates strong practices in output escaping (99% properly escaped) and SQL query preparedness (79% using prepared statements), and has no recorded vulnerability history. This suggests a developer who is generally aware of security best practices regarding data output and database interaction. However, a significant concern arises from its attack surface. With 8 AJAX handlers, 7 of which lack authentication checks, and one REST API route without permission callbacks, there are multiple potential entry points for unauthorized access and manipulation. Furthermore, the presence of the `unserialize` function, a known dangerous function, introduces a risk of deserialization vulnerabilities if not handled with extreme care, especially given the lack of authorization on many AJAX endpoints. The taint analysis also reveals two high-severity flows with unsanitized paths, indicating potential for code execution or sensitive data compromise, which is exacerbated by the unprotected entry points. While the plugin has no known CVEs, the identified code signals and taint flows present latent risks that require attention.

Key Concerns

  • Unprotected AJAX handlers
  • Unprotected REST API routes
  • Dangerous function: unserialize
  • High severity taint flows with unsanitized paths
Vulnerabilities
None known

OptiPub Security Vulnerabilities

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

OptiPub Code Analysis

Dangerous Functions
6
Raw SQL Queries
15
55 prepared
Unescaped Output
6
710 escaped
Nonce Checks
22
Capability Checks
7
File Operations
5
External Requests
3
Bundled Libraries
0

Dangerous Functions Found

unserialize$email_object = unserialize($decrypted_email_object_meta);inc\PubAccess\UserAccess.php:126
unserialize$email_object->email = unserialize($email_object->email);inc\PubAccess\UserAccess.php:133
unserialize$decrypted_email_address = unserialize($decrypted_email_address);inc\PubAccess\UserAccess.php:138
unserialize$email = unserialize($email);inc\Subscribers\OptiPubWP_LoginControl.php:536
unserialize$preauth_data = unserialize($preauth_data);inc\Subscribers\OptiPubWP_PreauthControl.php:65
unserialize$mapped_subscription = unserialize(serialize($subscription));inc\Subscribers\OptiPubWP_Subscriptions.php:47

SQL Query Safety

79% prepared70 total queries

Output Escaping

99% escaped716 total outputs
Data Flows
5 unsanitized

Data Flow Analysis

13 flows5 with unsanitized paths
handleWidgetImportSubmit (inc\Pages\Admin\AdminPage.php:400)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
7 unprotected

OptiPub Attack Surface

Entry Points10
Unprotected7

AJAX Handlers 8

noprivwp_ajax_optipub_ext_save_changesinc\Pages\Admin\AdminPage.php:67
authwp_ajax_optipub_ajax_logoutinc\Subscribers\OptiPubWP_SubscribersController.php:71
authwp_ajax_optipub_ajax_logininc\Subscribers\OptiPubWP_SubscribersController.php:72
noprivwp_ajax_optipub_ajax_logininc\Subscribers\OptiPubWP_SubscribersController.php:73
authwp_ajax_optipub_ajax_lostpasswordinc\Subscribers\OptiPubWP_SubscribersController.php:74
noprivwp_ajax_optipub_ajax_lostpasswordinc\Subscribers\OptiPubWP_SubscribersController.php:75
authwp_ajax_optipub_ajax_resetpasswordinc\Subscribers\OptiPubWP_SubscribersController.php:76
noprivwp_ajax_optipub_ajax_resetpasswordinc\Subscribers\OptiPubWP_SubscribersController.php:77

REST API Routes 1

POST/wp-json/optipub/v1/subscriptioninc\Api\OptiPubWebhook.php:22

Shortcodes 1

[optipub_login_form] inc\Api\OptiPubAuthentication.php:24
WordPress Hooks 84
filterauthenticateinc\Api\OptiPubAuthentication.php:21
actionrest_api_initinc\Api\OptiPubWebhook.php:14
actionwidgets_initinc\Base\AdminWidgetsTable.php:179
actioninitinc\Base\CustomPostTypeController.php:9
actioninitinc\Base\CustomPostTypeController.php:10
actioninitinc\Base\CustomPostTypeController.php:11
actioninitinc\Base\CustomPostTypeController.php:12
actionrestrict_manage_postsinc\Base\CustomPostTypeController.php:13
filterparse_queryinc\Base\CustomPostTypeController.php:14
actioninitinc\Base\CustomTaxonomyController.php:24
filtermap_meta_capinc\Base\CustomTaxonomyController.php:37
actionadmin_enqueue_scriptsinc\Base\Enqueue.php:15
filterpost_type_linkinc\Base\RewriteUrlForCPT.php:13
actioninitinc\Base\RewriteUrlForCPT.php:15
filterquery_varsinc\Base\RewriteUrlForCPT.php:17
actionpre_get_postsinc\Base\RewriteUrlForCPT.php:19
filterwp_unique_post_sluginc\Base\RewriteUrlForCPT.php:21
actionuser_new_forminc\Base\UserRoleManager.php:11
actionshow_user_profileinc\Base\UserRoleManager.php:12
actionedit_user_profileinc\Base\UserRoleManager.php:13
actionpersonal_options_updateinc\Base\UserRoleManager.php:14
actionedit_user_profile_updateinc\Base\UserRoleManager.php:15
actionuser_registerinc\Base\UserRoleManager.php:16
actionuser_new_forminc\Functions\UserRoles.php:64
actionshow_user_profileinc\Functions\UserRoles.php:65
actionedit_user_profileinc\Functions\UserRoles.php:66
actionpersonal_options_updateinc\Functions\UserRoles.php:131
actionedit_user_profile_updateinc\Functions\UserRoles.php:132
actionuser_registerinc\Functions\UserRoles.php:167
filtercron_schedulesinc\Pages\Admin\AdminPage.php:57
actiontransition_post_statusinc\Pages\Admin\AdminPage.php:74
actioninitinc\Pages\Admin\AdminPage.php:496
actionadmin_menuinc\Pages\Admin\AdminPage.php:553
actionadmin_menuinc\Pages\Admin\AdminPage.php:554
filterparent_fileinc\Pages\Admin\AdminPage.php:555
filterauthenticateinc\Subscribers\OptiPubWP_SubscribersController.php:56
filterlogin_redirectinc\Subscribers\OptiPubWP_SubscribersController.php:60
filterlogout_redirectinc\Subscribers\OptiPubWP_SubscribersController.php:61
filterlogin_urlinc\Subscribers\OptiPubWP_SubscribersController.php:64
filterlostpassword_urlinc\Subscribers\OptiPubWP_SubscribersController.php:65
filteruser_has_capinc\Subscribers\OptiPubWP_SubscribersController.php:68
actiontemplate_redirectinc\Subscribers\OptiPubWP_SubscribersController.php:80
actionclear_auth_cookieinc\Subscribers\OptiPubWP_SubscribersController.php:83
actionwp_loadedoptipub.php:80
actionpre_get_postsoptipub.php:276
actioninitoptipub.php:419
filterthe_contentoptipub.php:574
filterthe_content_feedoptipub.php:575
filterthe_contentoptipub.php:586
filterthe_content_feedoptipub.php:587
filterwp_insert_post_dataoptipub.php:625
actionadd_meta_boxesoptipub.php:645
actionwidgets_initoptipub.php:719
actionwp_enqueue_scriptsoptipub.php:738
filterscript_loader_tagoptipub.php:751
actionwp_headoptipub.php:802
actionwp_headoptipub.php:844
actionwp_body_openoptipub.php:867
actionwp_enqueue_scriptsoptipub.php:884
actioninitoptipub.php:900
actioninitoptipub.php:915
actiontemplate_redirectoptipub.php:1053
filteraioseo_titletemplates\inc\optipub\php\aioseo-functions.php:46
filteraioseo_descriptiontemplates\inc\optipub\php\aioseo-functions.php:72
filteraioseo_canonical_urltemplates\inc\optipub\php\aioseo-functions.php:124
filterxmlrpc_enabledtemplates\inc\optipub\php\optipub-helper-functions.php:29
actionwp_enqueue_scriptstemplates\inc\optipub\php\optipub-helper-functions.php:67
filterrequesttemplates\inc\optipub\php\optipub-helper-functions.php:186
filterthe_excerpt_rsstemplates\inc\optipub\php\optipub-helper-functions.php:210
filterthe_content_feedtemplates\inc\optipub\php\optipub-helper-functions.php:211
filterthe_contenttemplates\inc\optipub\php\optipub-link-modification-functions.php:89
filterthe_content_feedtemplates\inc\optipub\php\optipub-link-modification-functions.php:90
filterwpseo_opengraph_show_publish_datetemplates\inc\optipub\php\yoast-functions.php:42
filterwpseo_titletemplates\inc\optipub\php\yoast-functions.php:68
filterwpseo_opengraph_titletemplates\inc\optipub\php\yoast-functions.php:69
filterwpseo_metadesctemplates\inc\optipub\php\yoast-functions.php:95
filterwpseo_opengraph_desctemplates\inc\optipub\php\yoast-functions.php:96
filterwpseo_opengraph_imagetemplates\inc\optipub\php\yoast-functions.php:128
filterwpseo_add_opengraph_imagestemplates\inc\optipub\php\yoast-functions.php:158
filterwpseo_meta_authortemplates\inc\optipub\php\yoast-functions.php:182
filterwpseo_opengraph_author_facebooktemplates\inc\optipub\php\yoast-functions.php:183
filterwpseo_canonicaltemplates\inc\optipub\php\yoast-functions.php:230
filterwpseo_opengraph_urltemplates\inc\optipub\php\yoast-functions.php:231
filterwpseo_sitemap_exclude_taxonomytemplates\inc\optipub\php\yoast-functions.php:245
Maintenance & Trust

OptiPub Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedUnknown
PHP min version7.4
Downloads481

Community Trust

Rating0/100
Number of ratings0
Active installs0
Developer Profile

OptiPub Developer Profile

OptiPub

1 plugin · 0 total installs

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

How We Detect OptiPub

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/optipub/assets/css/optipub-public.css/wp-content/plugins/optipub/assets/js/optipub-public.js/wp-content/plugins/optipub/assets/css/optipub-admin.css/wp-content/plugins/optipub/assets/js/optipub-admin.js
Script Paths
/wp-content/plugins/optipub/assets/js/optipub-public.js/wp-content/plugins/optipub/assets/js/optipub-admin.js
Version Parameters
optipub-public.css?ver=optipub-public.js?ver=optipub-admin.css?ver=optipub-admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
optipub-content
HTML Comments
<!-- BEGIN OptiPub Content --><!-- END OptiPub Content --><!-- OptiPub Admin CSS --><!-- OptiPub Admin JS -->+2 more
JS Globals
optipub_admin_ajax_urloptipub_public_settings
REST Endpoints
/wp-json/optipub/v1/settings/wp-json/optipub/v1/publications/wp-json/optipub/v1/sync/wp-json/optipub/v1/sync-all/wp-json/optipub/v1/publication/
FAQ

Frequently Asked Questions about OptiPub