Accept SagePay Payments Using Contact Form 7 Security & Risk Analysis

wordpress.org/plugins/accept-sagepay-payments-using-contact-form-7

SagePay Server Gateway for accepting payments on your Contact Form 7.

10 active installs v2.2 PHP 5.6+ WP 4.9+ Updated May 23, 2025
ecommercepayment-gatewaysagepay-gosagepay-serverwordpress
99
A · Safe
CVEs total1
Unpatched0
Last CVEApr 7, 2025
Download
Safety Verdict

Is Accept SagePay Payments Using Contact Form 7 Safe to Use in 2026?

Generally Safe

Score 99/100

Accept SagePay Payments Using Contact Form 7 has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Apr 7, 2025Updated 10mo ago
Risk Assessment

The 'accept-sagepay-payments-using-contact-form-7' plugin version 2.2 exhibits a mixed security posture, with some strengths but significant concerns. On the positive side, the plugin demonstrates good practices with 100% of its SQL queries using prepared statements and a high percentage (80%) of outputs being properly escaped. It also has no file operations or external HTTP requests, which reduces certain attack vectors. However, the plugin has a concerningly small attack surface that is entirely unprotected. Both of its AJAX handlers lack authentication checks, making them direct entry points for attackers. The presence of the `unserialize` function is a red flag, especially when coupled with the analysis showing flows with unsanitized paths, although the taint analysis did not flag any critical or high-severity issues in this specific version. The vulnerability history, while currently showing no unpatched issues, includes a medium severity vulnerability in the past categorized as 'Exposure of Sensitive Information to an Unauthorized Actor,' which aligns with the potential risks posed by unprotected AJAX endpoints and the use of `unserialize` without proper input validation. The plugin's strengths in SQL and output handling are overshadowed by the critical lack of authorization on its AJAX endpoints, presenting a clear and immediate risk.

Key Concerns

  • Unprotected AJAX handlers
  • Dangerous function 'unserialize' used
  • Flows with unsanitized paths
  • No nonce checks on AJAX
  • Past medium vulnerability (Sensitive Info Exposure)
Vulnerabilities
1

Accept SagePay Payments Using Contact Form 7 Security Vulnerabilities

CVEs by Year

1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2025-2883medium · 5.3Exposure of Sensitive Information to an Unauthorized Actor

Accept SagePay Payments Using Contact Form 7 <= 2.0 - Unauthenticated Information Exposure

Apr 7, 2025 Patched in 2.1 (1d)
Code Analysis
Analyzed Mar 16, 2026

Accept SagePay Payments Using Contact Form 7 Code Analysis

Dangerous Functions
3
Raw SQL Queries
0
0 prepared
Unescaped Output
59
238 escaped
Nonce Checks
0
Capability Checks
1
File Operations
0
External Requests
0
Bundled Libraries
1

Dangerous Functions Found

unserialize$attachment = ( !empty( get_post_meta( $post->ID, '_attachment', true ) ) ? unserialize( get_post_meinc\admin\class.cfspzw.admin.action.php:416
unserialize$data = unserialize( get_post_meta( $post->ID, $key, true ) );inc\admin\class.cfspzw.admin.action.php:500
unserialize$data = unserialize( get_post_meta( $post_id, '_form_data', true ) );inc\admin\class.cfspzw.admin.action.php:610

Bundled Libraries

Select2

Output Escaping

80% escaped297 total outputs
Data Flows
3 unsanitized

Data Flow Analysis

3 flows3 with unsanitized paths
action__cfspzw_restrict_manage_posts (inc\admin\class.cfspzw.admin.action.php:275)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
2 unprotected

Accept SagePay Payments Using Contact Form 7 Attack Surface

Entry Points2
Unprotected2

AJAX Handlers 2

authwp_ajax_cfspzw_review_doneinc\admin\class.cfspzw.admin.action.php:38
noprivwp_ajax_cfspzw_review_doneinc\admin\class.cfspzw.admin.action.php:39
WordPress Hooks 23
actioninitinc\admin\class.cfspzw.admin.action.php:24
actionadd_meta_boxesinc\admin\class.cfspzw.admin.action.php:25
actionwpcf7_save_contact_forminc\admin\class.cfspzw.admin.action.php:28
actionpre_get_postsinc\admin\class.cfspzw.admin.action.php:32
actionrestrict_manage_postsinc\admin\class.cfspzw.admin.action.php:33
actionparse_queryinc\admin\class.cfspzw.admin.action.php:34
actionplugins_loadedinc\admin\class.cfspzw.admin.action.php:619
filterwpcf7_editor_panelsinc\admin\class.cfspzw.admin.filter.php:25
filterpost_row_actionsinc\admin\class.cfspzw.admin.filter.php:26
actionplugins_loadedinc\admin\class.cfspzw.admin.filter.php:187
actionadmin_menuinc\admin\class.cfspzw.admin.php:26
actionplugins_loadedinc\admin\class.cfspzw.admin.php:76
actionplugins_loadedinc\class.cfspzw.php:41
actionadmin_noticesinc\class.cfspzw.php:53
actioninitinc\class.cfspzw.php:62
actionwpcf7_admin_initinc\class.cfspzw.php:100
actionwp_enqueue_scriptsinc\front\class.cfspzw.front.action.php:24
actionplugins_loadedinc\front\class.cfspzw.front.action.php:63
filterwpcf7_form_elementsinc\front\class.cfspzw.front.filter.php:27
actionplugins_loadedinc\front\class.cfspzw.front.filter.php:70
filterquery_varsinc\front\class.cfspzw.front.php:31
filtertemplate_includeinc\front\class.cfspzw.front.php:32
actionplugins_loadedinc\front\class.cfspzw.front.php:105
Maintenance & Trust

Accept SagePay Payments Using Contact Form 7 Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedMay 23, 2025
PHP min version5.6
Downloads3K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

Accept SagePay Payments Using Contact Form 7 Developer Profile

ZealousWeb

18 plugins · 7K total installs

87
trust score
Avg Security Score
98/100
Avg Patch Time
88 days
View full developer profile
Detection Fingerprints

How We Detect Accept SagePay Payments Using Contact Form 7

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/accept-sagepay-payments-using-contact-form-7/inc/admin/js/admin-ajax.js/wp-content/plugins/accept-sagepay-payments-using-contact-form-7/inc/admin/js/plugin.js/wp-content/plugins/accept-sagepay-payments-using-contact-form-7/inc/front/css/style.css/wp-content/plugins/accept-sagepay-payments-using-contact-form-7/inc/front/js/front.js
Script Paths
/wp-content/plugins/accept-sagepay-payments-using-contact-form-7/inc/admin/js/admin-ajax.js/wp-content/plugins/accept-sagepay-payments-using-contact-form-7/inc/admin/js/plugin.js/wp-content/plugins/accept-sagepay-payments-using-contact-form-7/inc/front/js/front.js
Version Parameters
accept-sagepay-payments-using-contact-form-7/inc/admin/js/admin-ajax.js?ver=accept-sagepay-payments-using-contact-form-7/inc/admin/js/plugin.js?ver=accept-sagepay-payments-using-contact-form-7/inc/front/css/style.css?ver=accept-sagepay-payments-using-contact-form-7/inc/front/js/front.js?ver=

HTML / DOM Fingerprints

CSS Classes
sagepay-add-on
HTML Comments
<!-- sagepay-add-on --><!-- START SagePay Admin Settings -->
Data Attributes
data-plugin-url="https://www.zealousweb.com/wordpress-plugins/accept-sagepay-payments-using-contact-form-7/"
JS Globals
cfspzw_ajax_urlcfspzw_vars
FAQ

Frequently Asked Questions about Accept SagePay Payments Using Contact Form 7