QODE Compare for WooCommerce Security & Risk Analysis

wordpress.org/plugins/qode-compare-for-woocommerce

Streamline user experience with practical comparison functionality, offering easy product overviews with features and differences highlighted.

300 active installs v1.0.2 PHP 7.4+ WP 6.3+ Updated Dec 23, 2025
add-to-comparecomparecompare-productswoocommercewoocommerce-compare
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is QODE Compare for WooCommerce Safe to Use in 2026?

Generally Safe

Score 100/100

QODE Compare for WooCommerce has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 4mo ago
Risk Assessment

The qode-compare-for-woocommerce plugin v1.0.2 exhibits a generally good security posture based on the provided static analysis. A significant strength is the complete absence of dangerous functions and raw SQL queries. The plugin demonstrates strong adherence to output escaping practices, with 97% of outputs being properly escaped, and a robust implementation of nonce and capability checks for its entry points. The limited attack surface, consisting solely of one AJAX handler with a documented auth check, further contributes to its secure design.

However, a concerning finding from the taint analysis indicates one flow with an unsanitized path, rated as high severity. While the plugin has no known historical vulnerabilities, this single high-severity taint flow warrants attention. The presence of external HTTP requests, while not inherently insecure, could become a vector if the external service is compromised or if the data sent/received is not properly validated or sanitized before use, though the static analysis did not flag this directly as a vulnerability.

Overall, the plugin is well-developed with many security best practices in place. The absence of historical vulnerabilities is a positive sign of ongoing maintenance and security awareness. The primary area for improvement lies in thoroughly investigating and mitigating the identified high-severity taint flow to ensure no exploitable path exists.

Key Concerns

  • High severity taint flow with unsanitized path
  • External HTTP requests present
Vulnerabilities
None known

QODE Compare for WooCommerce Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

QODE Compare for WooCommerce Release Timeline

v1.0.2Current
v1.0.1
v1.0
Code Analysis
Analyzed Mar 16, 2026

QODE Compare for WooCommerce Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
4 prepared
Unescaped Output
26
745 escaped
Nonce Checks
10
Capability Checks
8
File Operations
0
External Requests
2
Bundled Libraries
0

SQL Query Safety

100% prepared4 total queries

Output Escaping

97% escaped771 total outputs
Data Flows · Security
1 unsanitized

Data Flow Analysis

3 flows1 with unsanitized paths
save_attribute_fields (inc\admin\inc\common\modules\attribute\core\class-qode-compare-for-woocommerce-framework-options-attribute.php:42)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

QODE Compare for WooCommerce Attack Surface

Entry Points1
Unprotected0

AJAX Handlers 1

authwp_ajax_qode_compare_for_woocommerce_deactivationinc\admin\inc\admin-notice\class-qode-compare-for-woocommerce-admin-notice.php:24
WordPress Hooks 124
actionplugins_loadedclass-qode-compare-for-woocommerce.php:40
filterbody_classclass-qode-compare-for-woocommerce.php:43
actionwp_enqueue_scriptsclass-qode-compare-for-woocommerce.php:46
actionwp_enqueue_scriptsclass-qode-compare-for-woocommerce.php:47
actionwp_enqueue_scriptsclass-qode-compare-for-woocommerce.php:48
actionadmin_enqueue_scriptsclass-qode-compare-for-woocommerce.php:51
filterqode_compare_for_woocommerce_filter_enable_global_optionsclass-qode-compare-for-woocommerce.php:57
actionplugins_loadedclass-qode-compare-for-woocommerce.php:162
actionadmin_noticesclass-qode-compare-for-woocommerce.php:195
actionplugins_loadedclass-qode-compare-for-woocommerce.php:199
filterqode_compare_for_woocommerce_filter_framework_register_admin_optionsinc\admin\class-qode-compare-for-woocommerce-framework.php:43
actionqode_compare_for_woocommerce_action_framework_populate_meta_boxinc\admin\class-qode-compare-for-woocommerce-framework.php:47
filterwp_kses_allowed_htmlinc\admin\helpers\helper.php:580
actionadmin_enqueue_scriptsinc\admin\inc\admin-notice\class-qode-compare-for-woocommerce-admin-notice.php:18
actioncurrent_screeninc\admin\inc\admin-notice\class-qode-compare-for-woocommerce-admin-notice.php:21
actionadmin_enqueue_scriptsinc\admin\inc\admin-notice\class-qode-compare-for-woocommerce-admin-notice.php:52
actionadmin_footerinc\admin\inc\admin-notice\class-qode-compare-for-woocommerce-admin-notice.php:56
filterplugin_row_metainc\admin\inc\admin-pages\class-qode-compare-for-woocommerce-admin-general-page.php:20
actioninitinc\admin\inc\admin-pages\class-qode-compare-for-woocommerce-admin-general-page.php:24
actionadmin_menuinc\admin\inc\admin-pages\class-qode-compare-for-woocommerce-admin-general-page.php:25
filteradmin_body_classinc\admin\inc\admin-pages\class-qode-compare-for-woocommerce-admin-general-page.php:26
actionadmin_enqueue_scriptsinc\admin\inc\admin-pages\class-qode-compare-for-woocommerce-admin-general-page.php:160
actionadmin_enqueue_scriptsinc\admin\inc\admin-pages\class-qode-compare-for-woocommerce-admin-general-page.php:161
actioninitinc\admin\inc\admin-pages\class-qode-compare-for-woocommerce-admin-options-custom-page-handler.php:15
filterqode_compare_for_woocommerce_filter_framework_custom_navinc\admin\inc\admin-pages\class-qode-compare-for-woocommerce-admin-options-custom-page-handler.php:39
actionadmin_enqueue_scriptsinc\admin\inc\admin-pages\class-qode-compare-for-woocommerce-admin-options-custom-page-handler.php:41
actionadmin_enqueue_scriptsinc\admin\inc\admin-pages\class-qode-compare-for-woocommerce-admin-options-custom-page-handler.php:42
actioninitinc\admin\inc\admin-pages\options-custom-pages\help\dashboard.php:25
actionqode_compare_for_woocommerce_action_additional_scripts_on_options_page_helpinc\admin\inc\admin-pages\options-custom-pages\help\helper.php:16
actionqode_compare_for_woocommerce_action_framework_before_custom_navinc\admin\inc\admin-pages\options-custom-pages\helper.php:15
actioninitinc\admin\inc\admin-pages\options-custom-pages\qode-products\dashboard.php:25
actionafter_setup_themeinc\admin\inc\class-qode-compare-for-woocommerce-framework-root.php:21
actionafter_setup_themeinc\admin\inc\class-qode-compare-for-woocommerce-framework-root.php:22
actionafter_setup_themeinc\admin\inc\class-qode-compare-for-woocommerce-framework-root.php:23
actionafter_setup_themeinc\admin\inc\class-qode-compare-for-woocommerce-framework-root.php:24
actionafter_setup_themeinc\admin\inc\class-qode-compare-for-woocommerce-framework-root.php:25
actionafter_setup_themeinc\admin\inc\class-qode-compare-for-woocommerce-framework-root.php:26
actioninitinc\admin\inc\common\modules\admin\core\class-qode-compare-for-woocommerce-framework-options-admin.php:22
actionadmin_menuinc\admin\inc\common\modules\admin\core\class-qode-compare-for-woocommerce-framework-options-admin.php:24
actionadmin_bar_menuinc\admin\inc\common\modules\admin\core\class-qode-compare-for-woocommerce-framework-options-admin.php:27
actionadmin_enqueue_scriptsinc\admin\inc\common\modules\admin\core\class-qode-compare-for-woocommerce-framework-options-admin.php:34
filteradmin_body_classinc\admin\inc\common\modules\admin\core\class-qode-compare-for-woocommerce-framework-options-admin.php:36
actionall_admin_noticesinc\admin\inc\common\modules\admin\core\class-qode-compare-for-woocommerce-framework-options-admin.php:38
filterpost_row_actionsinc\admin\inc\common\modules\admin\core\class-qode-compare-for-woocommerce-framework-options-admin.php:39
actioninitinc\admin\inc\common\modules\attachment\core\class-qode-compare-for-woocommerce-framework-options-attachment.php:12
actionattachment_fields_to_editinc\admin\inc\common\modules\attachment\core\class-qode-compare-for-woocommerce-framework-options-attachment.php:13
filterattachment_fields_to_saveinc\admin\inc\common\modules\attachment\core\class-qode-compare-for-woocommerce-framework-options-attachment.php:14
actionadmin_initinc\admin\inc\common\modules\attribute\core\class-qode-compare-for-woocommerce-framework-options-attribute.php:12
actionwoocommerce_after_add_attribute_fieldsinc\admin\inc\common\modules\attribute\core\class-qode-compare-for-woocommerce-framework-options-attribute.php:13
actionwoocommerce_after_edit_attribute_fieldsinc\admin\inc\common\modules\attribute\core\class-qode-compare-for-woocommerce-framework-options-attribute.php:14
actionwoocommerce_attribute_addedinc\admin\inc\common\modules\attribute\core\class-qode-compare-for-woocommerce-framework-options-attribute.php:15
actionwoocommerce_attribute_updatedinc\admin\inc\common\modules\attribute\core\class-qode-compare-for-woocommerce-framework-options-attribute.php:16
actionadmin_enqueue_scriptsinc\admin\inc\common\modules\attribute\core\class-qode-compare-for-woocommerce-framework-options-attribute.php:19
actionwp_loadedinc\admin\inc\common\modules\meta-boxes\core\class-qode-compare-for-woocommerce-framework-options-meta.php:12
actionadd_meta_boxesinc\admin\inc\common\modules\meta-boxes\core\class-qode-compare-for-woocommerce-framework-options-meta.php:13
actiondo_meta_boxesinc\admin\inc\common\modules\meta-boxes\core\class-qode-compare-for-woocommerce-framework-options-meta.php:14
actionsave_postinc\admin\inc\common\modules\meta-boxes\core\class-qode-compare-for-woocommerce-framework-options-meta.php:15
filtersanitize_post_meta_qode_compare_for_woocommerce_meta_optioninc\admin\inc\common\modules\meta-boxes\core\class-qode-compare-for-woocommerce-framework-options-meta.php:16
actionadmin_headinc\admin\inc\common\modules\meta-boxes\core\class-qode-compare-for-woocommerce-framework-options-meta.php:18
filteradmin_body_classinc\admin\inc\common\modules\meta-boxes\core\class-qode-compare-for-woocommerce-framework-options-meta.php:20
actioninitinc\admin\inc\common\modules\taxonomy\core\class-qode-compare-for-woocommerce-framework-options-taxonomy.php:11
actioninitinc\admin\inc\common\modules\taxonomy\core\class-qode-compare-for-woocommerce-framework-options-taxonomy.php:12
actioninitinc\admin\inc\common\modules\taxonomy\core\class-qode-compare-for-woocommerce-framework-options-taxonomy.php:13
actioncreated_terminc\admin\inc\common\modules\taxonomy\core\class-qode-compare-for-woocommerce-framework-options-taxonomy.php:15
actionedited_terminc\admin\inc\common\modules\taxonomy\core\class-qode-compare-for-woocommerce-framework-options-taxonomy.php:16
filtersanitize_term_meta_qode_compare_for_woocommerce_term_optioninc\admin\inc\common\modules\taxonomy\core\class-qode-compare-for-woocommerce-framework-options-taxonomy.php:17
actionadmin_enqueue_scriptsinc\admin\inc\common\modules\taxonomy\core\class-qode-compare-for-woocommerce-framework-options-taxonomy.php:20
actionadmin_initinc\admin\inc\post-types\class-qode-compare-for-woocommerce-framework-custom-post-type-taxonomy.php:50
filterarchive_templateinc\admin\inc\post-types\class-qode-compare-for-woocommerce-framework-custom-post-type-taxonomy.php:51
actionadmin_initinc\admin\inc\post-types\class-qode-compare-for-woocommerce-framework-custom-post-type.php:29
filtersingle_templateinc\admin\inc\post-types\class-qode-compare-for-woocommerce-framework-custom-post-type.php:30
actioninitinc\admin\inc\post-types\class-qode-compare-for-woocommerce-framework-custom-post-types.php:15
actionadmin_initinc\admin\inc\post-types\class-qode-compare-for-woocommerce-framework-custom-post-types.php:17
actionelementor/widgets/registerinc\admin\inc\shortcodes\class-qode-compare-for-woocommerce-framework-shortcodes.php:15
actionelementor/widgets/widgets_registeredinc\admin\inc\shortcodes\class-qode-compare-for-woocommerce-framework-shortcodes.php:18
actioninitinc\admin\inc\shortcodes\class-qode-compare-for-woocommerce-framework-shortcodes.php:22
actionelementor/elements/categories_registeredinc\admin\inc\shortcodes\translators\elementor\class-qode-compare-for-woocommerce-framework-elementor-translator.php:11
actionelementor/editor/before_enqueue_scriptsinc\admin\inc\shortcodes\translators\elementor\class-qode-compare-for-woocommerce-framework-elementor-translator.php:12
actionelementor/editor/before_enqueue_scriptsinc\admin\inc\shortcodes\translators\elementor\class-qode-compare-for-woocommerce-framework-elementor-translator.php:13
actioninitinc\admin\inc\shortcodes\translators\elementor\class-qode-compare-for-woocommerce-framework-elementor-translator.php:719
filterqode_compare_for_woocommerce_filter_framework_shortcode_content_htmlinc\admin\inc\shortcodes\translators\wpbakery\class-qode-compare-for-woocommerce-framework-wpbakery-translator.php:12
actionadmin_enqueue_scriptsinc\admin\inc\shortcodes\translators\wpbakery\class-qode-compare-for-woocommerce-framework-wpbakery-translator.php:16
actionenqueue_block_editor_assetsinc\admin\inc\shortcodes\translators\wpbakery\class-qode-compare-for-woocommerce-framework-wpbakery-translator.php:17
actionadmin_enqueue_scriptsinc\admin\inc\shortcodes\translators\wpbakery\class-qode-compare-for-woocommerce-framework-wpbakery-translator.php:20
filterqode_compare_for_woocommerce_filter_framework_add_shortcode_containerinc\admin\inc\shortcodes\translators\wpbakery\class-qode-compare-for-woocommerce-framework-wpbakery-translator.php:73
actioninitinc\admin\inc\shortcodes\translators\wpbakery\class-qode-compare-for-woocommerce-framework-wpbakery-translator.php:302
actionwidgets_initinc\admin\inc\widgets\class-qode-compare-for-woocommerce-framework-widgets.php:13
actionadmin_enqueue_scriptsinc\admin\inc\widgets\class-qode-compare-for-woocommerce-framework-widgets.php:16
actionwp_footerinc\compare\class-qode-compare-for-woocommerce-compare-module.php:18
actioninitinc\compare\class-qode-compare-for-woocommerce-compare-module.php:21
actioninitinc\compare\class-qode-compare-for-woocommerce-compare-module.php:24
filterqode_compare_for_woocommerce_action_before_comparison_tableinc\compare\class-qode-compare-for-woocommerce-compare-module.php:26
actioninitinc\compare\class-qode-compare-for-woocommerce-compare-module.php:157
actionqode_compare_for_woocommerce_action_core_options_initinc\compare\dashboard\admin\compare-table-options.php:176
actionqode_compare_for_woocommerce_action_default_options_initinc\compare\dashboard\admin\general-options.php:27
actionqode_compare_for_woocommerce_action_comparison_table_before_options_mapinc\compare\dashboard\admin\general-options.php:28
filterqode_compare_for_woocommerce_filter_attribute_taxonomiesinc\compare\helper.php:562
filterqode_compare_for_woocommerce_filter_register_shortcodesinc\compare\shortcodes\compare-button\class-qode-compare-for-woocommerce-compare-button-shortcode.php:22
actionqode_compare_for_woocommerce_action_core_options_initinc\compare\shortcodes\compare-button\dashboard\admin\compare-button-options.php:45
actionqode_compare_for_woocommerce_action_general_button_optionsinc\compare\shortcodes\compare-button\dashboard\admin\compare-button-options.php:83
actionqode_compare_for_woocommerce_action_general_button_optionsinc\compare\shortcodes\compare-button\dashboard\admin\compare-button-options.php:104
actionqode_compare_for_woocommerce_action_general_button_optionsinc\compare\shortcodes\compare-button\dashboard\admin\compare-button-options.php:126
actionqode_compare_for_woocommerce_action_general_button_optionsinc\compare\shortcodes\compare-button\dashboard\admin\compare-button-options.php:148
filterqode_compare_for_woocommerce_filter_rest_api_global_variablesinc\compare\shortcodes\compare-button\helper-ajax.php:24
filterqode_compare_for_woocommerce_filter_rest_api_routesinc\compare\shortcodes\compare-button\helper-ajax.php:115
filterqode_compare_for_woocommerce_filter_register_widgetsinc\compare\widgets\compare\class-qode-compare-for-woocommerce-compare-widget.php:22
filterqode_compare_for_woocommerce_filter_compare_table_response_datainc\compare\widgets\compare\helper-ajax.php:34
filterqode_compare_for_woocommerce_filter_register_widgetsinc\compare\widgets\compare-counter\class-qode-compare-for-woocommerce-compare-counter-widget.php:22
filterqode_compare_for_woocommerce_filter_compare_table_response_datainc\compare\widgets\compare-counter\helper-ajax.php:35
actionqode_compare_for_woocommerce_action_framework_before_widgets_registerinc\compare\widgets\helper.php:19
actionqode_compare_for_woocommerce_action_framework_before_widgets_registerinc\compare\widgets\helper.php:38
actionelementor/frontend/before_enqueue_scriptsinc\plugins\elementor\class-qode-compare-for-woocommerce-elementor-handler.php:12
actioninitinc\plugins\elementor\class-qode-compare-for-woocommerce-elementor-handler.php:42
actionelementor/widgets/registerinc\plugins\elementor\helper.php:55
actionelementor/widgets/widgets_registeredinc\plugins\elementor\helper.php:57
filterqode_compare_for_woocommerce_filter_privacy_policy_guide_contentinc\privacy\class-qode-compare-for-woocommerce-privacy-compare.php:25
filterwp_privacy_personal_data_exportersinc\privacy\class-qode-compare-for-woocommerce-privacy-compare.php:28
filterwp_privacy_personal_data_erasersinc\privacy\class-qode-compare-for-woocommerce-privacy-compare.php:31
actionadmin_initinc\privacy\class-qode-compare-for-woocommerce-privacy.php:13
filterqode_compare_for_woocommerce_filter_localize_main_plugin_scriptinc\rest\class-qode-compare-for-woocommerce-rest-api.php:21
actionrest_api_initinc\rest\class-qode-compare-for-woocommerce-rest-api.php:24
actionqode_compare_for_woocommerce_action_framework_before_shortcodes_registerinc\shortcodes\class-qode-compare-for-woocommerce-shortcodes.php:14
actionqode_compare_for_woocommerce_action_framework_before_shortcodes_registerinc\shortcodes\class-qode-compare-for-woocommerce-shortcodes.php:17
actionqode_compare_for_woocommerce_action_framework_before_shortcodes_registerinc\shortcodes\class-qode-compare-for-woocommerce-shortcodes.php:20
Maintenance & Trust

QODE Compare for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 23, 2025
PHP min version7.4
Downloads3K

Community Trust

Rating0/100
Number of ratings0
Active installs300
Developer Profile

QODE Compare for WooCommerce Developer Profile

Qode

12 plugins · 321K total installs

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

How We Detect QODE Compare 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/qode-compare-for-woocommerce/assets/css/main.min.css/wp-content/plugins/qode-compare-for-woocommerce/assets/js/main.min.js/wp-content/plugins/qode-compare-for-woocommerce/assets/js/admin.min.js
Script Paths
/wp-content/plugins/qode-compare-for-woocommerce/assets/js/main.min.js/wp-content/plugins/qode-compare-for-woocommerce/assets/js/admin.min.js
Version Parameters
qode-compare-for-woocommerce/assets/css/main.min.css?ver=qode-compare-for-woocommerce/assets/js/main.min.js?ver=qode-compare-for-woocommerce/assets/js/admin.min.js?ver=

HTML / DOM Fingerprints

CSS Classes
qode-compare-for-woocommerce-qcfw--touchqcfw--no-touch
JS Globals
qodeCompareForWooCommerceGlobal
FAQ

Frequently Asked Questions about QODE Compare for WooCommerce