Payment Form for PayPal Pro Security & Risk Analysis

wordpress.org/plugins/payment-form-for-paypal-pro

Payment Form for PayPal Pro for accepting credit cards directly into your website without navigating to a PayPal page.

20 active installs v1.1.73 PHP + WP 3.0.5+ Updated Dec 26, 2025
acceptpaypalpaypal-advancedpaypal-propro
93
A · Safe
CVEs total3
Unpatched0
Last CVEApr 17, 2025
Safety Verdict

Is Payment Form for PayPal Pro Safe to Use in 2026?

Generally Safe

Score 93/100

Payment Form for PayPal Pro has a strong security track record. Known vulnerabilities have been patched promptly.

3 known CVEsLast CVE: Apr 17, 2025Updated 3mo ago
Risk Assessment

This plugin exhibits a mixed security posture. On the positive side, it has a small attack surface with no apparent unprotected entry points and a good utilization of prepared statements for SQL queries. The presence of numerous nonce and capability checks also suggests an awareness of security best practices. However, significant concerns arise from the static analysis results. The presence of 8 dangerous 'unserialize' calls is a major red flag, as unserialization of untrusted input is a common vector for remote code execution. Furthermore, only 28% of outputs are properly escaped, indicating a high risk of cross-site scripting (XSS) vulnerabilities. The taint analysis confirms this with one high-severity flow indicating unsanitized paths.

The plugin's vulnerability history is also a cause for concern. With 3 known CVEs, including a past critical vulnerability and common XSS and SQL injection types, it suggests a recurring pattern of security weaknesses. While there are currently no unpatched CVEs, the historical prevalence of these issues, especially coupled with the static analysis findings of poor output escaping and dangerous function usage, indicates a need for heightened vigilance. The plugin has demonstrated a capacity for introducing vulnerabilities, and while recent activity shows no unpatched critical issues, the underlying code quality suggests potential for future discoveries.

In conclusion, while the plugin has some strengths in its approach to authentication and database interactions, the significant number of 'unserialize' calls, low output escaping rate, and historical vulnerability record present substantial risks. The high-severity taint flow further validates the immediate threat of XSS. Users should exercise caution, and developers should prioritize a comprehensive audit and remediation of these identified weaknesses, particularly focusing on input sanitization and output escaping to improve the overall security posture.

Key Concerns

  • High severity taint flow found
  • Dangerous function 'unserialize' used 8 times
  • Low output escaping (28% properly escaped)
  • Past critical vulnerability history
  • Common vulnerability types: XSS, SQL Injection
  • Bundled library 'Select2' potentially outdated
Vulnerabilities
3

Payment Form for PayPal Pro Security Vulnerabilities

CVEs by Year

1 CVE in 2015
2015
1 CVE in 2020
2020
1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Critical
1
Medium
2

3 total CVEs

CVE-2025-39562medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Payment Form for PayPal Pro <= 1.1.72 - Authenticated (Administrator+) Stored Cross-Site Scripting

Apr 17, 2025 Patched in 1.1.73 (5d)
CVE-2020-14092critical · 9.8Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Payment Form for PayPal Pro < 1.1.65 - SQL Injection

Jul 2, 2020 Patched in 1.1.65 (1300d)
CVE-2015-7666medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Payment Form for PayPal Pro < 1.0.2 - Reflected Cross-Site Scripting

Oct 4, 2015 Patched in 1.0.2 (3033d)
Code Analysis
Analyzed Mar 16, 2026

Payment Form for PayPal Pro Code Analysis

Dangerous Functions
8
Raw SQL Queries
11
50 prepared
Unescaped Output
413
160 escaped
Nonce Checks
11
Capability Checks
7
File Operations
0
External Requests
2
Bundled Libraries
1

Dangerous Functions Found

unserialize$posted_data = unserialize($event->posted_data);cp_ppp.php:415
unserialize$data = unserialize($item->posted_data);cp_ppp.php:1329
unserialize$data = unserialize($item->paypal_post);cp_ppp.php:1331
unserialize$options = unserialize(cp_ppp_get_option('cp_user_access', serialize(array())));cp_ppp_admin_int.php:683
unserializeif ($current_user_access || @in_array($current_user->ID, unserialize($item->cp_user_access)))cp_ppp_admin_int_list.inc.php:197
unserializeif (!$current_user_access && !@in_array($current_user->ID, unserialize($myform[0]->cp_user_access)))cp_ppp_admin_int_message_list.inc.php:38
unserializeif ($current_user_access || @in_array($current_user->ID, unserialize($item->cp_user_access)))cp_ppp_admin_int_message_list.inc.php:108
unserialize$posted_data = unserialize($events[$i]->posted_data);cp_ppp_admin_int_message_list.inc.php:158

Bundled Libraries

Select2

SQL Query Safety

82% prepared61 total queries

Output Escaping

28% escaped573 total outputs
Data Flows
1 unsanitized

Data Flow Analysis

7 flows1 with unsanitized paths
<cp_admin_int_edition.inc> (cp_admin_int_edition.inc.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Payment Form for PayPal Pro Attack Surface

Entry Points3
Unprotected0

AJAX Handlers 1

authwp_ajax_cppffppp_feedbackcp-feedback.php:3

Shortcodes 2

[CP_PPP] cp_ppp.php:149
[CP_PPP_LIST] cp_ppp.php:150
WordPress Hooks 12
actionadmin_bar_menubanner.php:102
actionadmin_enqueue_scriptscp-feedback.php:2
actionadmin_footercp-feedback.php:18
actioninitcp_ppp.php:105
actionwidgets_initcp_ppp.php:106
actionplugins_loadedcp_ppp.php:114
actionmedia_buttonscp_ppp.php:131
actionadmin_enqueue_scriptscp_ppp.php:132
actionadmin_menucp_ppp.php:133
actionenqueue_block_editor_assetscp_ppp.php:134
filterlitespeed_cache_optimize_js_excludescp_ppp.php:1565
filteroption_sbp_settingscp_ppp.php:1573
Maintenance & Trust

Payment Form for PayPal Pro Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 26, 2025
PHP min version
Downloads23K

Community Trust

Rating54/100
Number of ratings7
Active installs20
Developer Profile

Payment Form for PayPal Pro Developer Profile

codepeople

34 plugins · 89K total installs

76
trust score
Avg Security Score
95/100
Avg Patch Time
964 days
View full developer profile
Detection Fingerprints

How We Detect Payment Form for PayPal Pro

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/payment-form-for-paypal-pro/assets/css/jquery-ui.min.css/wp-content/plugins/payment-form-for-paypal-pro/assets/css/animate.css/wp-content/plugins/payment-form-for-paypal-pro/assets/css/jquery.signature.css/wp-content/plugins/payment-form-for-paypal-pro/assets/css/cropper.min.css/wp-content/plugins/payment-form-for-paypal-pro/assets/css/bootstrap.css/wp-content/plugins/payment-form-for-paypal-pro/assets/css/payment-form-for-paypal-pro.css/wp-content/plugins/payment-form-for-paypal-pro/assets/css/jquery-ui-dialog.css/wp-content/plugins/payment-form-for-paypal-pro/assets/js/jquery-ui.min.js+7 more
Script Paths
/wp-content/plugins/payment-form-for-paypal-pro/assets/js/jquery-ui.min.js/wp-content/plugins/payment-form-for-paypal-pro/assets/js/jquery.signature.min.js/wp-content/plugins/payment-form-for-paypal-pro/assets/js/cropper.min.js/wp-content/plugins/payment-form-for-paypal-pro/assets/js/jquery.mask.js/wp-content/plugins/payment-form-for-paypal-pro/assets/js/payment-form-for-paypal-pro.js/wp-content/plugins/payment-form-for-paypal-pro/assets/js/jquery.signature.utils.js+2 more
Version Parameters
/wp-content/plugins/payment-form-for-paypal-pro/assets/css/jquery-ui.min.css?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/css/animate.css?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/css/jquery.signature.css?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/css/cropper.min.css?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/css/bootstrap.css?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/css/payment-form-for-paypal-pro.css?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/css/jquery-ui-dialog.css?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/js/jquery-ui.min.js?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/js/jquery.signature.min.js?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/js/cropper.min.js?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/js/jquery.mask.js?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/js/payment-form-for-paypal-pro.js?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/js/jquery.signature.utils.js?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/js/main.js?ver=/wp-content/plugins/payment-form-for-paypal-pro/assets/js/dialog.js?ver=

HTML / DOM Fingerprints

CSS Classes
cp_ppp_calculator_containercp_ppp_form_containercp_ppp_form_fieldcp_ppp_captcha_imagecp_ppp_captcha_inputcp_ppp_payment_optionscp_ppp_paypal_buttoncp_ppp_cc_form
HTML Comments
<!--Payment Form for PayPal Pro options--><!--Start Payment Form for PayPal Pro--><!--End Payment Form for PayPal Pro--><!--cp_ppp_dialog_content-->
Data Attributes
data-form-iddata-form-instance
JS Globals
CP_PPP_SCRIPT_SETTINGSCP_PPP_DATACP_PPP_CAPTCHA_URL
Shortcode Output
[CP_PPP[CP_PPP_LIST
FAQ

Frequently Asked Questions about Payment Form for PayPal Pro