Opal Woo Custom Product Variation Security & Risk Analysis

wordpress.org/plugins/opal-woo-custom-product-variation

Plugin Advanced Product Field for Woocommerce, add some field for user select

400 active installs v1.3.1 PHP 5.4+ WP 5.0+ Updated Jan 7, 2026
addoncustom-fieldsproduct-field-customiserwoocommerce
94
A · Safe
CVEs total2
Unpatched0
Last CVEMay 12, 2025
Safety Verdict

Is Opal Woo Custom Product Variation Safe to Use in 2026?

Generally Safe

Score 94/100

Opal Woo Custom Product Variation has a strong security track record. Known vulnerabilities have been patched promptly.

2 known CVEsLast CVE: May 12, 2025Updated 2mo ago
Risk Assessment

The static analysis of "opal-woo-custom-product-variation" v1.3.1 indicates a generally good security posture in its current implementation. The plugin demonstrates strong adherence to secure coding practices by utilizing prepared statements for all SQL queries and performing proper output escaping on 99% of outputs. The absence of dangerous functions and external HTTP requests further strengthens its security. Nonce and capability checks are present on a significant portion of its AJAX handlers, which is a positive sign for preventing unauthorized actions.

However, concerns arise from the plugin's vulnerability history. It has a record of two known CVEs, including one critical vulnerability and one medium, with common types being Path Traversal and Missing Authorization. Although none are currently unpatched, this history suggests a pattern of past security weaknesses that could potentially reappear or indicate underlying architectural issues. The presence of two flows with unsanitized paths in the taint analysis, even without critical or high severity, warrants attention as these could be potential vectors for path traversal vulnerabilities if not properly handled.

Overall, while the current code exhibits good secure coding practices, the past critical vulnerabilities, particularly those related to path traversal and authorization, and the identified unsanitized path flows in the taint analysis, represent the most significant risks. The plugin's reliance on 18 AJAX handlers, though seemingly protected, should be continuously monitored for any future misconfigurations or vulnerabilities. The strength in SQL and output handling is commendable, but the historical context necessitates vigilance.

Key Concerns

  • Past critical vulnerability
  • Past medium vulnerability
  • Flows with unsanitized paths
Vulnerabilities
2

Opal Woo Custom Product Variation Security Vulnerabilities

CVEs by Year

1 CVE in 2024
2024
1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Critical
1
Medium
1

2 total CVEs

CVE-2025-47535medium · 5.3Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Opal Woo Custom Product Variation <= 1.2.0 - Unauthenticated Arbitrary File Deletion

May 12, 2025 Patched in 1.2.1 (9d)
CVE-2024-52444critical · 9.8Missing Authorization

Opal Woo Custom Product Variation <= 1.1.3 - Unauthenticated Arbitrary File Deletion

Nov 18, 2024 Patched in 1.1.4 (9d)
Code Analysis
Analyzed Mar 16, 2026

Opal Woo Custom Product Variation Code Analysis

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

Bundled Libraries

jQueryTinyMCE

SQL Query Safety

100% prepared2 total queries

Output Escaping

99% escaped230 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

4 flows2 with unsanitized paths
owcpv_form_export (includes\classes\class-owcpv-admin.php:779)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Opal Woo Custom Product Variation Attack Surface

Entry Points18
Unprotected0

AJAX Handlers 18

authwp_ajax_owcpv_load_product_meta_boxincludes\classes\class-owcpv-admin.php:34
authwp_ajax_owcpv_form_exportincludes\classes\class-owcpv-admin.php:36
authwp_ajax_owcpv_form_cloneincludes\classes\class-owcpv-admin.php:37
authwp_ajax_owcpv_handle_import_formincludes\classes\class-owcpv-admin.php:38
authwp_ajax_owcpv_handle_import_sample_fieldsincludes\classes\class-owcpv-admin.php:39
authwp_ajax_owcpv_remove_product_of_formincludes\classes\class-owcpv-admin.php:40
authwp_ajax_owcpv_update_status_formincludes\classes\class-owcpv-admin.php:41
noprivwp_ajax_owcpv_handler_fineuploaderincludes\classes\class-owcpv-frontend.php:57
authwp_ajax_owcpv_handler_fineuploaderincludes\classes\class-owcpv-frontend.php:58
noprivwp_ajax_owcpv_delete_fineuploaderincludes\classes\class-owcpv-frontend.php:60
authwp_ajax_owcpv_delete_fineuploaderincludes\classes\class-owcpv-frontend.php:61
noprivwp_ajax_owcpv_load_cart_item_fieldincludes\classes\class-owcpv-frontend.php:63
authwp_ajax_owcpv_load_cart_item_fieldincludes\classes\class-owcpv-frontend.php:64
noprivwp_ajax_owcpv_update_cart_item_fieldincludes\classes\class-owcpv-frontend.php:66
authwp_ajax_owcpv_update_cart_item_fieldincludes\classes\class-owcpv-frontend.php:67
authwp_ajax_owcpv_handle_settings_formincludes\classes\class-owcpv-settings.php:53
authwp_ajax_owcpv_settings_exportincludes\classes\class-owcpv-settings.php:54
authwp_ajax_owcpv_handle_import_settingsincludes\classes\class-owcpv-settings.php:55
WordPress Hooks 54
actioninitincludes\class-opal-woo-custom-product-variation.php:138
actionwoocommerce_before_order_itemmetaincludes\classes\class-owcpv-admin.php:24
actionwoocommerce_after_order_itemmetaincludes\classes\class-owcpv-admin.php:25
filterwoocommerce_admin_order_preview_get_order_detailsincludes\classes\class-owcpv-admin.php:27
actionadd_meta_boxesincludes\classes\class-owcpv-admin.php:29
actionsave_post_opal-productincludes\classes\class-owcpv-admin.php:30
actionadmin_enqueue_scriptsincludes\classes\class-owcpv-admin.php:32
actionall_admin_noticesincludes\classes\class-owcpv-admin.php:43
actionadmin_menuincludes\classes\class-owcpv-admin.php:44
filterpost_row_actionsincludes\classes\class-owcpv-admin.php:46
actionrestrict_manage_postsincludes\classes\class-owcpv-admin.php:47
filterparse_queryincludes\classes\class-owcpv-admin.php:48
filtermanage_edit-opal-product_columnsincludes\classes\class-owcpv-admin.php:49
actionmanage_posts_custom_columnincludes\classes\class-owcpv-admin.php:50
filterget_user_option_screen_layout_opal-productincludes\classes\class-owcpv-admin.php:52
actionsubmitpost_boxincludes\classes\class-owcpv-admin.php:54
actionpost_submitbox_minor_actionsincludes\classes\class-owcpv-admin.php:55
filterdisplay_post_statesincludes\classes\class-owcpv-admin.php:57
filterviews_edit-opal-productincludes\classes\class-owcpv-admin.php:58
filterpost_row_actionsincludes\classes\class-owcpv-admin.php:59
filteresc_htmlincludes\classes\class-owcpv-admin.php:296
filterwoocommerce_hidden_order_itemmetaincludes\classes\class-owcpv-admin.php:346
filteresc_htmlincludes\classes\class-owcpv-admin.php:694
filteresc_htmlincludes\classes\class-owcpv-admin.php:798
filterupload_dirincludes\classes\class-owcpv-form-handler.php:599
filterwoocommerce_get_cart_item_from_sessionincludes\classes\class-owcpv-frontend.php:42
actionwoocommerce_before_calculate_totalsincludes\classes\class-owcpv-frontend.php:43
actionwoocommerce_after_cart_item_nameincludes\classes\class-owcpv-frontend.php:44
filterwoocommerce_add_to_cart_validationincludes\classes\class-owcpv-frontend.php:45
filterwoocommerce_add_cart_item_dataincludes\classes\class-owcpv-frontend.php:46
filterwoocommerce_get_item_dataincludes\classes\class-owcpv-frontend.php:47
filterwoocommerce_cart_item_priceincludes\classes\class-owcpv-frontend.php:48
actionwoocommerce_new_order_itemincludes\classes\class-owcpv-frontend.php:50
actionwoocommerce_checkout_create_order_line_itemincludes\classes\class-owcpv-frontend.php:51
filterwoocommerce_display_item_metaincludes\classes\class-owcpv-frontend.php:52
filterwoocommerce_order_item_get_formatted_meta_dataincludes\classes\class-owcpv-frontend.php:53
filterwc_priceincludes\classes\class-owcpv-frontend.php:55
filterthe_contentincludes\classes\class-owcpv-frontend.php:69
filterwoocommerce_product_price_classincludes\classes\class-owcpv-frontend.php:70
filteresc_htmlincludes\classes\class-owcpv-frontend.php:762
filterwoocommerce_product_data_tabsincludes\classes\class-owcpv-product-meta.php:18
actionwoocommerce_product_data_panelsincludes\classes\class-owcpv-product-meta.php:19
actionwoocommerce_process_product_metaincludes\classes\class-owcpv-product-meta.php:20
actionadmin_enqueue_scriptsincludes\classes\class-owcpv-run.php:45
actionwp_enqueue_scriptsincludes\classes\class-owcpv-run.php:46
actionadmin_initincludes\classes\class-owcpv-settings.php:48
actioninitincludes\classes\class-owcpv-settings.php:50
actionadmin_menuincludes\classes\class-owcpv-settings.php:51
actionadmin_noticesincludes\classes\class-owcpv-settings.php:83
actionadmin_noticesincludes\classes\class-owcpv-settings.php:90
filteresc_htmlincludes\classes\class-owcpv-settings.php:374
filteresc_htmlincludes\helpers\core.php:239
filteresc_htmlincludes\helpers\core.php:381
filteresc_htmlincludes\helpers\core.php:478
Maintenance & Trust

Opal Woo Custom Product Variation Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedJan 7, 2026
PHP min version5.4
Downloads6K

Community Trust

Rating0/100
Number of ratings0
Active installs400
Developer Profile

Opal Woo Custom Product Variation Developer Profile

wpopal

19 plugins · 3K total installs

81
trust score
Avg Security Score
90/100
Avg Patch Time
50 days
View full developer profile
Detection Fingerprints

How We Detect Opal Woo Custom Product Variation

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/opal-woo-custom-product-variation/assets/css/backend.css/wp-content/plugins/opal-woo-custom-product-variation/assets/css/frontend.css/wp-content/plugins/opal-woo-custom-product-variation/assets/js/backend.js/wp-content/plugins/opal-woo-custom-product-variation/assets/js/frontend.js/wp-content/plugins/opal-woo-custom-product-variation/assets/js/woo-global.js/wp-content/plugins/opal-woo-custom-product-variation/assets/js/woo-frontend.js
Script Paths
/wp-content/plugins/opal-woo-custom-product-variation/assets/js/backend.js/wp-content/plugins/opal-woo-custom-product-variation/assets/js/frontend.js/wp-content/plugins/opal-woo-custom-product-variation/assets/js/woo-global.js/wp-content/plugins/opal-woo-custom-product-variation/assets/js/woo-frontend.js
Version Parameters
opal-woo-custom-product-variation/assets/css/backend.css?ver=opal-woo-custom-product-variation/assets/css/frontend.css?ver=opal-woo-custom-product-variation/assets/js/backend.js?ver=opal-woo-custom-product-variation/assets/js/frontend.js?ver=opal-woo-custom-product-variation/assets/js/woo-global.js?ver=opal-woo-custom-product-variation/assets/js/woo-frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
owcpv_box_toggle_buttonowcpv_toggletoggle_active_formowpcv_toggle_inputowcpv_toggle_switchowcpv_overflow_sidebar
Data Attributes
data-id
JS Globals
owcpv_global_vars
FAQ

Frequently Asked Questions about Opal Woo Custom Product Variation