PinnerPress – Customizable Pin Buttons for Pinterest Creators Security & Risk Analysis

wordpress.org/plugins/customizable-pinner-buttons-for-pinterest-creators

The Ultimate Pinterest Plugin for WordPress. Boost your Pinterest traffic and engagement with powerful tools for content creators.

100 active installs v1.1.6 PHP + WP 6.2+ Updated Feb 18, 2026
pinspinterestsocial-media
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is PinnerPress – Customizable Pin Buttons for Pinterest Creators Safe to Use in 2026?

Generally Safe

Score 100/100

PinnerPress – Customizable Pin Buttons for Pinterest Creators has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 1mo ago
Risk Assessment

The 'customizable-pinner-buttons-for-pinterest-creators' plugin v1.1.6 exhibits a generally strong security posture, with a significant emphasis on secure coding practices. The absence of known CVEs and a high percentage of prepared SQL statements and properly escaped output are commendable. Furthermore, the plugin demonstrates a robust use of nonce and capability checks across its AJAX handlers, with no unprotected entry points identified in the static analysis. The use of established bundled libraries like TinyMCE and Select2 also suggests a degree of reliance on well-maintained components.

However, the taint analysis reveals a notable area of concern. Ten identified taint flows with unsanitized paths, even without reaching a critical severity, indicate potential risks of path traversal or arbitrary file access vulnerabilities. While these flows might not be directly exploitable due to other security measures, they represent a weakness that could be leveraged in conjunction with other subtle misconfigurations or future code changes. The plugin also performs two file operations and one external HTTP request, which, while not inherently insecure, warrant careful scrutiny in the context of the identified unsanitized paths.

Overall, the plugin has a solid foundation with good security practices in place. The vulnerability history, showing no prior issues, is a positive sign. The primary weakness lies in the identified unsanitized paths within the taint analysis, which, despite the lack of critical severity, introduces a level of risk that requires attention. Therefore, while the plugin is likely secure in its current state, addressing these specific taint flows would further solidify its security.

Key Concerns

  • Taint flows with unsanitized paths
Vulnerabilities
None known

PinnerPress – Customizable Pin Buttons for Pinterest Creators Security Vulnerabilities

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

PinnerPress – Customizable Pin Buttons for Pinterest Creators Code Analysis

Dangerous Functions
0
Raw SQL Queries
21
178 prepared
Unescaped Output
60
685 escaped
Nonce Checks
32
Capability Checks
43
File Operations
2
External Requests
1
Bundled Libraries
3

Bundled Libraries

TinyMCESelect2Freemius1.0

SQL Query Safety

89% prepared199 total queries

Output Escaping

92% escaped745 total outputs
Data Flows
10 unsanitized

Data Flow Analysis

14 flows10 with unsanitized paths
get_preview_button_ajax (admin\class-pinnerpress-admin.php:378)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

PinnerPress – Customizable Pin Buttons for Pinterest Creators Attack Surface

Entry Points27
Unprotected0

AJAX Handlers 26

authwp_ajax_pinnerpress_get_preview_buttonadmin\class-pinnerpress-admin.php:56
authwp_ajax_pinnerpress_dismiss_activation_noticeadmin\class-pinnerpress-admin.php:57
authwp_ajax_pinnerpress_track_eventincludes\class-pinnerpress-analytics.php:63
noprivwp_ajax_pinnerpress_track_eventincludes\class-pinnerpress-analytics.php:64
authwp_ajax_pinnerpress_get_analytics_dataincludes\class-pinnerpress-analytics.php:67
authwp_ajax_pinnerpress_get_top_postsincludes\class-pinnerpress-analytics.php:70
authwp_ajax_pinnerpress_get_posts_for_analyticsincludes\class-pinnerpress-analytics.php:73
authwp_ajax_pinnerpress_get_post_images_analyticsincludes\class-pinnerpress-analytics.php:74
authwp_ajax_pinnerpress_get_image_detailed_analyticsincludes\class-pinnerpress-analytics.php:75
authwp_ajax_pinnerpress_get_all_postsincludes\class-pinnerpress-analytics.php:76
authwp_ajax_pinnerpress_get_post_by_idincludes\class-pinnerpress-analytics.php:77
authwp_ajax_pinnerpress_get_top_imagesincludes\class-pinnerpress-analytics.php:80
authwp_ajax_pinnerpress_get_post_analytics_dataincludes\class-pinnerpress-analytics.php:83
authwp_ajax_pinnerpress_get_single_post_analyticsincludes\class-pinnerpress-analytics.php:84
authwp_ajax_pinnerpress_scan_essb_dataincludes\class-pinnerpress-essb-migration.php:34
authwp_ajax_pinnerpress_migrate_from_essbincludes\class-pinnerpress-essb-migration.php:35
authwp_ajax_pinnerpress_migrate_essb_batchincludes\class-pinnerpress-essb-migration.php:36
authwp_ajax_pinnerpress_scan_hubbub_dataincludes\class-pinnerpress-hubbub-migration.php:34
authwp_ajax_pinnerpress_migrate_from_hubbubincludes\class-pinnerpress-hubbub-migration.php:35
authwp_ajax_pinnerpress_migrate_batchincludes\class-pinnerpress-hubbub-migration.php:36
authwp_ajax_pinnerpress_toggle_image_analyticsincludes\class-pinnerpress-image-analytics-overlay.php:57
authwp_ajax_pinnerpress_scan_tasty_pins_dataincludes\class-pinnerpress-tasty-pins-migration.php:34
authwp_ajax_pinnerpress_migrate_from_tasty_pinsincludes\class-pinnerpress-tasty-pins-migration.php:35
authwp_ajax_pinnerpress_migrate_tasty_pins_batchincludes\class-pinnerpress-tasty-pins-migration.php:36
authwp_ajax_pinnerpress_get_modal_imagesincludes\pinnerpress-hidden-pins-button.php:547
noprivwp_ajax_pinnerpress_get_modal_imagesincludes\pinnerpress-hidden-pins-button.php:548

Shortcodes 1

[pinnerpress_follow] includes\pinnerpress-follow-shortcode.php:86
WordPress Hooks 99
actionadmin_initadmin\class-pinnerpress-admin.php:60
actionadd_meta_boxesadmin\class-pinnerpress-admin.php:63
actionsave_postadmin\class-pinnerpress-admin.php:64
actioncurrent_screenadmin\class-pinnerpress-admin.php:67
actionadmin_noticesadmin\class-pinnerpress-admin.php:70
actionadmin_initadmin\class-pinnerpress-admin.php:73
actionadmin_menuadmin\class-pinnerpress-admin.php:584
actionplugins_loadedcustomizable-pinner-buttons-for-pinterest-creators.php:120
filterpre_optioncustomizable-pinner-buttons-for-pinterest-creators.php:122
filterdefault_optioncustomizable-pinner-buttons-for-pinterest-creators.php:149
actionadmin_noticescustomizable-pinner-buttons-for-pinterest-creators.php:162
actionadmin_noticescustomizable-pinner-buttons-for-pinterest-creators.php:199
actionadmin_noticescustomizable-pinner-buttons-for-pinterest-creators.php:229
actionafter_uninstallcustomizable-pinner-buttons-for-pinterest-creators.php:279
actionadmin_initcustomizable-pinner-buttons-for-pinterest-creators.php:323
filterplugin_iconcustomizable-pinner-buttons-for-pinterest-creators.php:335
actionplugins_loadedcustomizable-pinner-buttons-for-pinterest-creators.php:346
filterconnect_headercustomizable-pinner-buttons-for-pinterest-creators.php:353
filterconnect_messagecustomizable-pinner-buttons-for-pinterest-creators.php:355
filterconnect_header_on_updatecustomizable-pinner-buttons-for-pinterest-creators.php:362
filterconnect_message_on_updatecustomizable-pinner-buttons-for-pinterest-creators.php:364
actionadmin_noticescustomizable-pinner-buttons-for-pinterest-creators.php:449
actionadmin_noticescustomizable-pinner-buttons-for-pinterest-creators.php:462
actionadmin_noticescustomizable-pinner-buttons-for-pinterest-creators.php:474
actionadmin_noticescustomizable-pinner-buttons-for-pinterest-creators.php:486
actionadmin_noticescustomizable-pinner-buttons-for-pinterest-creators.php:513
actioninitincludes\class-pinnerpress-analytics.php:94
actionadmin_bar_menuincludes\class-pinnerpress-image-analytics-overlay.php:54
actionwp_enqueue_scriptsincludes\class-pinnerpress-image-analytics-overlay.php:60
actionwp_footerincludes\class-pinnerpress-image-analytics-overlay.php:63
actionplugins_loadedincludes\class-pinnerpress.php:136
actionadmin_enqueue_scriptsincludes\class-pinnerpress.php:149
actionadmin_enqueue_scriptsincludes\class-pinnerpress.php:150
actionadmin_menuincludes\class-pinnerpress.php:153
actionadmin_initincludes\class-pinnerpress.php:156
actionwp_enqueue_scriptsincludes\class-pinnerpress.php:184
actionwp_enqueue_scriptsincludes\class-pinnerpress.php:185
filterrender_blockincludes\pinnerpress-block-extensions.php:123
filterpinnerpress_pin_button_optionsincludes\pinnerpress-block-extensions.php:126
actioninitincludes\pinnerpress-block-extensions.php:128
actioninitincludes\pinnerpress-callout-block.php:253
actioninitincludes\pinnerpress-follow-block.php:177
filterblock_categories_allincludes\pinnerpress-follow-block.php:197
filterblock_categoriesincludes\pinnerpress-follow-block.php:199
filtermce_external_pluginsincludes\pinnerpress-follow-shortcode.php:103
filtermce_buttonsincludes\pinnerpress-follow-shortcode.php:104
actionadmin_headincludes\pinnerpress-follow-shortcode.php:124
actionwp_enqueue_scriptsincludes\pinnerpress-follow-shortcode.php:142
actionwidgets_initincludes\pinnerpress-follow-widget.php:189
filterpre_optionincludes\pinnerpress-helper-functions.php:23
filteradmin_titleincludes\pinnerpress-helper-functions.php:26
filterdocument_title_partsincludes\pinnerpress-helper-functions.php:29
filterwp_titleincludes\pinnerpress-helper-functions.php:32
filterscript_loader_srcincludes\pinnerpress-helper-functions.php:35
filterstyle_loader_srcincludes\pinnerpress-helper-functions.php:38
filteroption_pinnerpress_pinterest_urlincludes\pinnerpress-helper-functions.php:41
filteroption_pinnerpress_pinterest_display_nameincludes\pinnerpress-helper-functions.php:42
filteroption_pinnerpress_account_descriptionincludes\pinnerpress-helper-functions.php:43
filteroption_pinnerpress_header_imageincludes\pinnerpress-helper-functions.php:44
filteroption_pinnerpress_profile_imageincludes\pinnerpress-helper-functions.php:45
filteroption_fs_active_pluginsincludes\pinnerpress-helper-functions.php:48
filterpre_option_fs_active_pluginsincludes\pinnerpress-helper-functions.php:49
filteroption_includes\pinnerpress-helper-functions.php:52
filterhome_urlincludes\pinnerpress-helper-functions.php:55
filtersite_urlincludes\pinnerpress-helper-functions.php:56
filteradmin_urlincludes\pinnerpress-helper-functions.php:57
filterplugins_urlincludes\pinnerpress-helper-functions.php:58
filtercontent_urlincludes\pinnerpress-helper-functions.php:59
filternetwork_home_urlincludes\pinnerpress-helper-functions.php:60
filternetwork_site_urlincludes\pinnerpress-helper-functions.php:61
filternonce_urlincludes\pinnerpress-helper-functions.php:64
filterpre_wp_is_streamincludes\pinnerpress-helper-functions.php:67
actionplugins_loadedincludes\pinnerpress-helper-functions.php:70
actioninitincludes\pinnerpress-helper-functions.php:71
actionmuplugins_loadedincludes\pinnerpress-helper-functions.php:74
filterthe_contentincludes\pinnerpress-hidden-images.php:178
actionwp_headincludes\pinnerpress-hidden-images.php:181
actioninitincludes\pinnerpress-hidden-images.php:185
actionwp_footerincludes\pinnerpress-hidden-pins-button.php:84
filterthe_contentincludes\pinnerpress-hidden-pins-button.php:544
actioninitincludes\pinnerpress-hidden-pins-button.php:552
actionadmin_menuincludes\pinnerpress-premium.php:287
actionadmin_initincludes\pinnerpress-premium.php:306
filterfreemius_asset_urlincludes\pinnerpress-premium.php:379
filterpricing/css_pathincludes\pinnerpress-premium.php:380
filterfreemius_pricing_js_pathincludes\pinnerpress-premium.php:383
filterscript_loader_srcincludes\pinnerpress-premium.php:389
filterstyle_loader_srcincludes\pinnerpress-premium.php:401
actionwp_loadedincludes\pinnerpress-premium.php:414
actioninitincludes\pinnerpress-premium.php:507
filtersupport_forum_submenuincludes\pinnerpress-premium.php:517
filterpricing/show_annual_in_monthlyincludes\pinnerpress-premium.php:520
actionadmin_menuincludes\pinnerpress-premium.php:523
actionadmin_headincludes\pinnerpress-premium.php:528
actioninitincludes\pinnerpress-premium.php:542
filterthe_contentpublic\class-pinnerpress-public.php:56
actionwp_headpublic\class-pinnerpress-public.php:59
filterstyle_loader_tagpublic\class-pinnerpress-public.php:77
filterscript_loader_tagpublic\class-pinnerpress-public.php:121
Maintenance & Trust

PinnerPress – Customizable Pin Buttons for Pinterest Creators Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 18, 2026
PHP min version
Downloads1K

Community Trust

Rating0/100
Number of ratings0
Active installs100
Developer Profile

PinnerPress – Customizable Pin Buttons for Pinterest Creators Developer Profile

PinnerPress

1 plugin · 100 total installs

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

How We Detect PinnerPress – Customizable Pin Buttons for Pinterest Creators

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/customizable-pinner-buttons-for-pinterest-creators/assets/css/styles.css/wp-content/plugins/customizable-pinner-buttons-for-pinterest-creators/assets/js/script.js
Script Paths
/wp-content/plugins/customizable-pinner-buttons-for-pinterest-creators/assets/js/script.js
Version Parameters
customizable-pinner-buttons-for-pinterest-creators/assets/css/styles.css?ver=customizable-pinner-buttons-for-pinterest-creators/assets/js/script.js?ver=

HTML / DOM Fingerprints

FAQ

Frequently Asked Questions about PinnerPress – Customizable Pin Buttons for Pinterest Creators