Perfecty Push Notifications Security & Risk Analysis

wordpress.org/plugins/perfecty-push-notifications

Push Notifications that are self-hosted, you don't need API keys to integrate with external Push Notifications providers that will charge you lat …

5K active installs v1.6.5 PHP 7.2+ WP 5.0+ Updated Sep 4, 2025
notificationspush-notificationsuser-engagementweb-push-notifications
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Perfecty Push Notifications Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs Updated 7mo ago
Risk Assessment

The "perfecty-push-notifications" plugin v1.6.5 exhibits a mixed security posture. On the positive side, it demonstrates good practices by avoiding dangerous functions, file operations, and external HTTP requests. All SQL queries are prepared, and a significant majority of outputs are properly escaped, indicating a decent effort in secure coding. The absence of any recorded vulnerabilities or CVEs in its history is also a positive sign, suggesting a generally stable codebase. However, there are notable concerns regarding its attack surface. All three identified REST API routes lack permission callbacks, meaning they are accessible without authentication or proper authorization. This creates a significant entry point for potential attackers to interact with plugin functionalities in unintended ways. While taint analysis shows no critical or high severity flows, the exposed REST API routes could still be exploited if they handle user-supplied data in an insecure manner, even without a directly observable taint flow in static analysis.

In conclusion, while the plugin has strengths in its careful handling of SQL and output, the unprotected REST API routes are a significant security weakness. This oversight creates a substantial risk of unauthorized access and manipulation of plugin features. The plugin's history of no vulnerabilities is encouraging, but it does not negate the current risks presented by its open attack surface. Developers should prioritize implementing proper authorization checks on all exposed REST API endpoints to mitigate these risks.

Key Concerns

  • REST API routes without permission callbacks
  • Unprotected entry points (REST API)
  • Bundled library (Guzzle) may be outdated
Vulnerabilities
None known

Perfecty Push Notifications Security Vulnerabilities

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

Perfecty Push Notifications Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
26
217 escaped
Nonce Checks
8
Capability Checks
2
File Operations
0
External Requests
0
Bundled Libraries
1

Bundled Libraries

Guzzle

Output Escaping

89% escaped243 total outputs
Attack Surface
3 unprotected

Perfecty Push Notifications Attack Surface

Entry Points3
Unprotected3

REST API Routes 3

GET/wp-json/perfecty-push/v1/push/userspublic\class-perfecty-push-public.php:94
GET/wp-json/perfecty-push/v1/push/users/(?P<user_id>[a-zA-Z0-9-]+)/unregisterpublic\class-perfecty-push-public.php:103
GET/wp-json/perfecty-push/v1/push/users/(?P<user_id>[a-zA-Z0-9-]+)public\class-perfecty-push-public.php:113
WordPress Hooks 16
actioninitincludes\class-perfecty-push.php:219
actionplugins_loadedincludes\class-perfecty-push.php:261
actionadmin_enqueue_scriptsincludes\class-perfecty-push.php:275
actionadmin_enqueue_scriptsincludes\class-perfecty-push.php:276
actionadmin_menuincludes\class-perfecty-push.php:277
actionadmin_initincludes\class-perfecty-push.php:278
actionadmin_initincludes\class-perfecty-push.php:279
actionadd_meta_boxesincludes\class-perfecty-push.php:281
actionsave_postincludes\class-perfecty-push.php:282
actiontransition_post_statusincludes\class-perfecty-push.php:283
actionpublish_future_postincludes\class-perfecty-push.php:284
actionadmin_noticesincludes\class-perfecty-push.php:285
actionwp_enqueue_scriptsincludes\class-perfecty-push.php:299
actionwp_enqueue_scriptsincludes\class-perfecty-push.php:300
actionwp_headincludes\class-perfecty-push.php:301
actionrest_api_initincludes\class-perfecty-push.php:302
Maintenance & Trust

Perfecty Push Notifications Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedSep 4, 2025
PHP min version7.2
Downloads59K

Community Trust

Rating92/100
Number of ratings42
Active installs5K
Developer Profile

Perfecty Push Notifications Developer Profile

Perfecty

1 plugin · 5K total installs

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

How We Detect Perfecty Push Notifications

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/perfecty-push-notifications/admin/css/perfecty-push-admin.css/wp-content/plugins/perfecty-push-notifications/admin/css/jquery.timepicker.min.css/wp-content/plugins/perfecty-push-notifications/admin/css/jquery-ui/themes/smoothness/jquery-ui.min.css/wp-content/plugins/perfecty-push-notifications/admin/js/chart.bundle.min.js/wp-content/plugins/perfecty-push-notifications/admin/js/perfecty-push-admin.js/wp-content/plugins/perfecty-push-notifications/admin/js/jquery.timepicker.min.js/wp-content/plugins/perfecty-push-notifications/admin/js/html5-fallback.js
Script Paths
admin/js/perfecty-push-admin.jsadmin/js/jquery.timepicker.min.jsadmin/js/html5-fallback.js
Version Parameters
perfecty-push-admin.css?ver=perfecty-push-admin.js?ver=jquery.timepicker.min.js?ver=html5-fallback.js?ver=

HTML / DOM Fingerprints

HTML Comments
<!-- This function is provided for demonstration purposes only. --><!-- An instance of this class should be passed to the run() function --><!-- defined in Perfecty_Push_Loader as all of the hooks are defined --><!-- in that particular class. -->+3 more
Data Attributes
perfecty-push-notifications
JS Globals
Perfecty_Push_Admin
FAQ

Frequently Asked Questions about Perfecty Push Notifications