Checkout Files Upload for WooCommerce Security & Risk Analysis

wordpress.org/plugins/checkout-files-upload-woocommerce

Let your customers upload files on (or after) WooCommerce checkout.

7K active installs v2.2.4 PHP + WP 4.4+ Updated Mar 10, 2026
checkoutcheckout-files-uploadwoo-commercewoocommerce
95
A · Safe
CVEs total3
Unpatched0
Last CVENov 17, 2025
Safety Verdict

Is Checkout Files Upload for WooCommerce Safe to Use in 2026?

Generally Safe

Score 95/100

Checkout Files Upload for WooCommerce has a strong security track record. Known vulnerabilities have been patched promptly.

3 known CVEsLast CVE: Nov 17, 2025Updated 23d ago
Risk Assessment

The plugin "checkout-files-upload-woocommerce" v2.2.4 presents a mixed security posture. On the positive side, the static analysis shows a strong adherence to secure coding practices with 100% of SQL queries using prepared statements and a high rate of output escaping (75%). The absence of unprotected AJAX handlers and REST API routes, along with a good number of nonce and capability checks, are also positive indicators. However, concerns arise from the taint analysis, which identified three flows with unsanitized paths, although thankfully no critical or high severity issues were found here. The plugin's vulnerability history is a significant red flag, with three known CVEs, including one high and two medium severity vulnerabilities. The presence of Cross-site Scripting (XSS) as a common vulnerability type, even if the last one was in the future (suggesting a potential data entry error in the provided history, but still indicating past issues), points to potential weaknesses in input sanitization and output escaping in previous versions that attackers could exploit.

While the current version appears to have addressed past vulnerabilities and demonstrates good coding practices in many areas, the historical prevalence of XSS and the taint analysis indicating unsanitized paths warrant careful consideration. The lack of critical or high severity findings in the current static and taint analysis is encouraging, but the historical context suggests a pattern that necessitates ongoing vigilance. The plugin's strengths lie in its secure handling of SQL and a generally robust attack surface management. The main weaknesses stem from the historical vulnerability data and the minor but present taint analysis findings. Therefore, while not critically compromised in its current state according to this analysis, the historical context means a moderate level of risk remains.

Key Concerns

  • Unsanitized paths in taint analysis
  • High number of known CVEs (3 total)
  • Historically high severity vulnerabilities (1 high, 2 medium)
  • Common vulnerability type: XSS
  • Unescaped output rate below ideal (75%)
Vulnerabilities
3

Checkout Files Upload for WooCommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2022
2022
2 CVEs in 2025
2025
Patched Has unpatched

Severity Breakdown

High
1
Medium
2

3 total CVEs

CVE-2025-4212high · 7.2Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Checkout Files Upload for WooCommerce <= 2.2.1 - Unauthenticated Stored Cross-Site Scripting

Nov 17, 2025 Patched in 2.2.2 (1d)
CVE-2025-39520medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Checkout Files Upload for WooCommerce <= 2.2.0 - Authenticated (Contributor+) Stored Cross-Site Scripting

Apr 16, 2025 Patched in 2.2.1 (10d)
CVE-2022-29425medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Checkout Files Upload for WooCommerce <= 2.1.2 - Cross-Site Scripting

May 4, 2022 Patched in 2.1.3 (629d)
Code Analysis
Analyzed Mar 16, 2026

Checkout Files Upload for WooCommerce Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
15
46 escaped
Nonce Checks
6
Capability Checks
0
File Operations
15
External Requests
0
Bundled Libraries
0

Output Escaping

75% escaped61 total outputs
Data Flows
3 unsanitized

Data Flow Analysis

4 flows3 with unsanitized paths
alg_ajax_file_upload (includes\class-alg-wc-checkout-files-upload.php:385)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Checkout Files Upload for WooCommerce Attack Surface

Entry Points2
Unprotected0

Shortcodes 2

[alg_wc_cfu_translate] includes\class-alg-wc-checkout-files-upload.php:52
[wpwham_checkout_files_uploader] includes\class-alg-wc-checkout-files-upload.php:53
WordPress Hooks 21
actionbefore_woocommerce_initcheckout-files-upload-woocommerce.php:57
actioninitcheckout-files-upload-woocommerce.php:118
actionadmin_enqueue_scriptscheckout-files-upload-woocommerce.php:125
actionadmin_enqueue_scriptscheckout-files-upload-woocommerce.php:126
actionwoocommerce_system_status_reportcheckout-files-upload-woocommerce.php:127
filterwoocommerce_get_settings_pagescheckout-files-upload-woocommerce.php:128
actionadmin_initcheckout-files-upload-woocommerce.php:133
actioninitincludes\checkout-files-upload-woocommerce-update.php:49
actionadd_meta_boxesincludes\class-alg-wc-checkout-files-upload.php:28
actioninitincludes\class-alg-wc-checkout-files-upload.php:29
actionwoocommerce_thankyouincludes\class-alg-wc-checkout-files-upload.php:36
actionwoocommerce_view_orderincludes\class-alg-wc-checkout-files-upload.php:39
actionwoocommerce_new_orderincludes\class-alg-wc-checkout-files-upload.php:42
actionwoocommerce_after_checkout_validationincludes\class-alg-wc-checkout-files-upload.php:43
actionwoocommerce_order_details_after_order_tableincludes\class-alg-wc-checkout-files-upload.php:44
actionwoocommerce_email_after_order_tableincludes\class-alg-wc-checkout-files-upload.php:45
filterwoocommerce_email_attachmentsincludes\class-alg-wc-checkout-files-upload.php:46
actionwp_enqueue_scriptsincludes\class-alg-wc-checkout-files-upload.php:47
filterwoocommerce_get_sections_alg_wc_checkout_files_uploadincludes\settings\class-alg-wc-checkout-files-upload-settings-section.php:23
filterwoocommerce_admin_settings_sanitize_optionincludes\settings\class-wc-settings-checkout-files-upload.php:26
actionadmin_noticesincludes\settings\class-wc-settings-checkout-files-upload.php:27
Maintenance & Trust

Checkout Files Upload for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 10, 2026
PHP min version
Downloads159K

Community Trust

Rating88/100
Number of ratings14
Active installs7K
Developer Profile

Checkout Files Upload for WooCommerce Developer Profile

WP Wham

9 plugins · 37K total installs

77
trust score
Avg Security Score
97/100
Avg Patch Time
297 days
View full developer profile
Detection Fingerprints

How We Detect Checkout Files Upload for WooCommerce

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/checkout-files-upload-woocommerce/includes/css/admin.css/wp-content/plugins/checkout-files-upload-woocommerce/includes/js/admin.js
Script Paths
/wp-content/plugins/checkout-files-upload-woocommerce/includes/js/admin.js
Version Parameters
checkout-files-upload-woocommerce/includes/css/admin.css?ver=checkout-files-upload-woocommerce/includes/js/admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
wpwham-checkout-files-upload-admin
Data Attributes
data-export-label="Checkout Files Upload Settings"
JS Globals
wpwham_checkout_files_upload_admin
FAQ

Frequently Asked Questions about Checkout Files Upload for WooCommerce