Product Attachment for WooCommerce Security & Risk Analysis

wordpress.org/plugins/woo-product-attachment

Plugin lets you easily upload any file type (images, documents, videos, etc.) to customer orders.

7K active installs v2.3.2 PHP 7.2+ WP 5.0+ Updated Dec 25, 2025
attachmentdotsorderattachmentproductattachmentwoocommerce
100
A · Safe
CVEs total1
Unpatched0
Last CVEAug 11, 2023
Safety Verdict

Is Product Attachment for WooCommerce Safe to Use in 2026?

Generally Safe

Score 100/100

Product Attachment for WooCommerce has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Aug 11, 2023Updated 3mo ago
Risk Assessment

The "woo-product-attachment" v2.3.2 plugin exhibits a mixed security posture. On the positive side, it demonstrates good practices by using prepared statements for all SQL queries and a high percentage of properly escaped output, which are crucial for preventing common vulnerabilities. The plugin also implements nonce checks and file operations, suggesting an awareness of security principles. However, the analysis reveals significant concerns, most notably an unprotected AJAX handler, which represents a direct entry point for attackers without proper authentication. This, combined with a history of a medium-severity Cross-Site Request Forgery (CSRF) vulnerability, points to a potential for unauthorized actions if not addressed. While there are no critical taint flows and the SQL is well-protected, the presence of unprotected entry points and past CSRF issues warrants caution.

Overall, while the plugin has strengths in its handling of database interactions and output, the unprotected AJAX handler is a critical weakness that significantly elevates its risk profile. The historical CSRF vulnerability further reinforces the need for vigilance. Users should be aware of the potential for exploitation through the unprotected AJAX endpoint, and developers should prioritize implementing authentication and authorization checks for all entry points to improve the plugin's security. The bundled libraries, Select2 and Freemius v1.0, should also be reviewed for potential outdated versions and associated vulnerabilities, though they are not explicitly flagged as issues in the provided data.

Key Concerns

  • Unprotected AJAX handler
  • Medium severity CSRF vulnerability history
Vulnerabilities
1

Product Attachment for WooCommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2023
2023
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2023-40212medium · 4.3Cross-Site Request Forgery (CSRF)

WooCommerce Product Attachment <= 2.1.8 - Cross-Site Request Forgery

Aug 11, 2023 Patched in 2.2.0 (165d)
Code Analysis
Analyzed Mar 16, 2026

Product Attachment for WooCommerce Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
48
691 escaped
Nonce Checks
4
Capability Checks
0
File Operations
2
External Requests
4
Bundled Libraries
2

Bundled Libraries

Select2Freemius1.0

Output Escaping

94% escaped739 total outputs
Attack Surface
1 unprotected

Product Attachment for WooCommerce Attack Surface

Entry Points2
Unprotected1

AJAX Handlers 1

authwp_ajax_wcpoa_plugin_setup_wizard_submitincludes\class-woocommerce-product-attachment.php:160

Shortcodes 1

[display_attachments] public\partials\wcpoa-attachement-shortcodes.php:7
WordPress Hooks 41
filterplugin_row_metaincludes\class-woocommerce-product-attachment.php:80
actionadmin_enqueue_scriptsincludes\class-woocommerce-product-attachment.php:137
actionadmin_enqueue_scriptsincludes\class-woocommerce-product-attachment.php:138
actionadmin_menuincludes\class-woocommerce-product-attachment.php:140
actionadmin_initincludes\class-woocommerce-product-attachment.php:142
actionadmin_menuincludes\class-woocommerce-product-attachment.php:143
actionadmin_headincludes\class-woocommerce-product-attachment.php:144
actionadmin_wcpoa_setting_pageincludes\class-woocommerce-product-attachment.php:145
actionadd_meta_boxesincludes\class-woocommerce-product-attachment.php:146
actionsave_postincludes\class-woocommerce-product-attachment.php:153
actionpost_edit_form_tagincludes\class-woocommerce-product-attachment.php:154
actionadd_meta_boxesincludes\class-woocommerce-product-attachment.php:155
actionadmin_headincludes\class-woocommerce-product-attachment.php:156
actionadmin_headincludes\class-woocommerce-product-attachment.php:159
actionadmin_initincludes\class-woocommerce-product-attachment.php:161
filteradmin_footer_textincludes\class-woocommerce-product-attachment.php:164
actionwp_enqueue_scriptsincludes\class-woocommerce-product-attachment.php:204
actionwp_enqueue_scriptsincludes\class-woocommerce-product-attachment.php:205
filterwoocommerce_product_tabsincludes\class-woocommerce-product-attachment.php:206
actionwoocommerce_account_wcpoa_attachment_tab_endpointincludes\class-woocommerce-product-attachment.php:207
actionwoocommerce_new_order_itemincludes\class-woocommerce-product-attachment.php:208
filterwoocommerce_get_item_dataincludes\class-woocommerce-product-attachment.php:215
actioninitincludes\class-woocommerce-product-attachment.php:222
actionwoocommerce_email_headerincludes\class-woocommerce-product-attachment.php:224
filterwoocommerce_email_after_order_tableincludes\class-woocommerce-product-attachment.php:225
filterwoocommerce_account_orders_columnsincludes\class-woocommerce-product-attachment.php:235
actionwoocommerce_my_account_my_orders_column_wcpoa-attachmentincludes\class-woocommerce-product-attachment.php:242
actionwoocommerce_view_orderincludes\class-woocommerce-product-attachment.php:246
actionwoocommerce_thankyouincludes\class-woocommerce-product-attachment.php:255
actionafter_uninstallwoocommerce-product-attachment.php:80
actionupgrader_process_completewoocommerce-product-attachment.php:154
actionadmin_noticeswoocommerce-product-attachment.php:221
actionadmin_noticeswoocommerce-product-attachment.php:227
actionplugins_loadedwoocommerce-product-attachment.php:236
filterhide_account_tabswoocommerce-product-attachment.php:268
actionafter_account_detailswoocommerce-product-attachment.php:286
actionhide_billing_and_payments_infowoocommerce-product-attachment.php:298
actionhide_freemius_powered_bywoocommerce-product-attachment.php:310
actionconnect/beforewoocommerce-product-attachment.php:331
actionconnect/afterwoocommerce-product-attachment.php:348
actionbefore_woocommerce_initwoocommerce-product-attachment.php:355
Maintenance & Trust

Product Attachment for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 25, 2025
PHP min version7.2
Downloads168K

Community Trust

Rating92/100
Number of ratings23
Active installs7K
Developer Profile

Product Attachment for WooCommerce Developer Profile

dotsquares

37 plugins · 95K total installs

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

How We Detect Product Attachment 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/woo-product-attachment/assets/css/wcpoa_admin_style.css/wp-content/plugins/woo-product-attachment/assets/css/wcpoa_style.css/wp-content/plugins/woo-product-attachment/assets/js/wcpoa_admin_script.js/wp-content/plugins/woo-product-attachment/assets/js/wcpoa_script.js
Version Parameters
woo-product-attachment/assets/css/wcpoa_admin_style.css?ver=woo-product-attachment/assets/css/wcpoa_style.css?ver=woo-product-attachment/assets/js/wcpoa_admin_script.js?ver=woo-product-attachment/assets/js/wcpoa_script.js?ver=

HTML / DOM Fingerprints

CSS Classes
wcpoa_attachments_containerwcpoa_attachment_itemwcpoa_attachment_link
Data Attributes
data-wcpoa-product-iddata-wcpoa-attachment-iddata-wcpoa-download-url
JS Globals
wcpoa_params
FAQ

Frequently Asked Questions about Product Attachment for WooCommerce