WooCommerce

Slug: woocommerce · Automattic · 7,000,000+

Actively maintained
WooCommerce banner image

Overall Score

Good overall quality

80
Good

What this score means

Scores are calculated on a 100-point scale by analysing six weighted categories: Security, WP.org Readiness, Performance, Code Quality, Accessibility, and Vulnerabilities. Open vulnerabilities are weighted by severity, CVSS, and patch availability, and incomplete source data can reduce confidence slightly.

  • Excellent The plugin follows best practices across every measured category. It is well-maintained, low-risk, and recommended for production use.
  • Good Strong overall quality with minor areas for improvement. Generally safe to use on most sites.
  • Needs Review Some areas of concern detected. Review the full issues report and weigh the risks before installing on production.
  • High Risk Significant quality or security problems found. Exercise caution — check the details carefully before using this plugin.
Score computed: May 10, 2026 2:57 pm (2 months ago). Vulnerability data mode: Cached.
High confidence (100/100) based on metadata completeness and vulnerability evidence quality.
Open vulnerabilities are weighted by severity, CVSS, and patch availability, then adjusted slightly when the source data is incomplete.
  • Wordfence: June 28, 2026 3:50 pm (18 minutes ago)

No known open vulnerabilities found.

AI-Generated Summary

WooCommerce currently scores 80/100 (good). Latest scan findings include 0 errors and 20 warnings.

Strengths

  • Overall score is in a strong range for production use.
  • No open vulnerabilities are currently recorded in tracked sources.

Risks

  • Tested-up-to metadata is behind the current WordPress version.

Recommended Next Actions

  • Address warning-level findings to improve maintainability and reduce future risk.
  • Validate compatibility against the latest WordPress core and refresh tested-up-to metadata.

Generated from latest scan and metadata signals. Validate in staging before production changes.

Score Breakdown

Shield
Security
36
High Risk
Why this score?

Top deductions are based on 1 affected rules, reducing this category by 64 total points.

Rule Hits Impact Share
Security issue: Warning 16 -64 100%
W
WP.org Readiness
95
Excellent
Why this score?

Top deductions are based on 3 affected rules, reducing this category by 8 total points.

Rule Hits Impact Share
Repo issue: Warning 1 -3 37.5%
Tested up to version is behind current WordPress 1 -3 37.5%
Repo issue: Notice 2 -2 25%
Speed
Performance
100
Excellent
Why this score?

Top deductions are based on 0 affected rules, reducing this category by 0 total points.

No deductions were applied for this category in the latest score run.

Code
Code Quality
97
Excellent
Why this score?

Top deductions are based on 1 affected rules, reducing this category by 3 total points.

Rule Hits Impact Share
Code Quality issue: Notice 3 -3 100%
A11y
Accessibility
94
Excellent
Why this score?

Top deductions are based on 1 affected rules, reducing this category by 6 total points.

Rule Hits Impact Share
Accessibility issue: Warning 3 -6 100%
Bug
Vulnerability Status
100
Excellent
Why this score?

Top deductions are based on 0 affected rules, reducing this category by 0 total points.

No deductions were applied for this category in the latest score run.

Plugin Details

  • Version: 10.7.0
  • Active Installs: 7,000,000+
  • Last Updated: 2026-04-14 12:01:00
  • Tested up to: 6.9.4
  • Requires PHP: 7.4
  • Rating: 4.5/5 (4,795 ratings)
  • Support: 215/259 resolved (83%)
  • View on WordPress.org
  • Download Plugin

Scan Summary

  • Errors: 0
  • Warnings: 20
  • Notices: 5
  • Last Scanned: 2026-05-10 13:57:31
  • Score confidence: 100/100
Scans are performed automatically once per day, and the report will note when source data is stale or incomplete.

What Changed Since Last Scan

Run at least two completed scans to view issue deltas.

Detected Issues

Severity Category Message File Fix Guidance
WARNING REPO Main plugin file does not declare a Text Domain header. action-scheduler.php
Quick Add a Text Domain header so translation tooling and WordPress.org can identify the plugin textdomain.
Moderate Apply the same remediation pattern across repo findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
NOTICE REPO Main plugin file does not declare a Domain Path header. action-scheduler.php
Quick Add a Domain Path header if language files are stored in a languages directory.
Moderate Apply the same remediation pattern across repo findings and re-scan to confirm notice issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Main plugin file does not appear to guard direct access with an ABSPATH check. action-scheduler.php
Quick Add an ABSPATH guard near the top of the main plugin file to prevent direct execution.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. packages/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Use of unserialize() detected. packages/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php
Quick Switch the flagged payload to JSON decoding where practical.
Moderate If serialization is required, enforce allowed_classes=false and strict input validation before parsing.
Advanced Move state transfer to signed/typed schemas and add security tests for malformed payloads.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. packages/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. packages/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. packages/action-scheduler/classes/data-stores/ActionScheduler_wpCommentLogger.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. packages/action-scheduler/classes/data-stores/ActionScheduler_DBLogger.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Use of unserialize() detected. packages/action-scheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php
Quick Switch the flagged payload to JSON decoding where practical.
Moderate If serialization is required, enforce allowed_classes=false and strict input validation before parsing.
Advanced Move state transfer to signed/typed schemas and add security tests for malformed payloads.
WARNING SECURITY Raw superglobal access detected. packages/action-scheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. packages/action-scheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. packages/action-scheduler/classes/schema/ActionScheduler_LoggerSchema.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. packages/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. packages/blueprint/src/Importers/ImportRunSql.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
NOTICE CODE_QUALITY Short PHP opening tags or inline template tags may reduce compatibility across environments. packages/email-editor/src/Engine/Renderer/class-html2text.php
Quick Prefer full <?php opening tags for maximum portability.
Moderate Apply the same remediation pattern across code quality findings and re-scan to confirm notice issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. packages/email-editor/src/Engine/Renderer/class-html2text.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
WARNING SECURITY Raw superglobal access detected. packages/email-editor/src/Engine/class-email-editor.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-gallery.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
NOTICE CODE_QUALITY Short PHP opening tags or inline template tags may reduce compatibility across environments. packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-embed.php
Quick Prefer full <?php opening tags for maximum portability.
Moderate Apply the same remediation pattern across code quality findings and re-scan to confirm notice issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
NOTICE CODE_QUALITY Short PHP opening tags or inline template tags may reduce compatibility across environments. packages/email-editor/src/Integrations/Utils/class-dom-document-helper.php
Quick Prefer full <?php opening tags for maximum portability.
Moderate Apply the same remediation pattern across code quality findings and re-scan to confirm notice issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. packages/email-editor/src/Integrations/Utils/class-html-processing-helper.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. src/Internal/CLI/Migrator/Lib/ImportSession.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Raw superglobal access detected. src/Internal/EmailEditor/Integration.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
NOTICE REPO Translation functions are present, but no textdomain loader was detected.
Quick Call load_plugin_textdomain() during plugin bootstrap so translations can be loaded.
Moderate Apply the same remediation pattern across repo findings and re-scan to confirm notice issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.

Score History

No history available yet. · All-Time High: N/A

All Past Vulnerabilities

Showing all known historical vulnerabilities for this plugin, including open and closed records.

Vulnerability CVE Severity Status Affected Versions Patched Version Updated Source
WooCommerce < 5.5 - Authenticated Blind SQL Injection N/A LOW Closed [*, 3.3), 3.3-3.3.5, 3.4-3.4.7, 3.5-3.5.8, 3.6-3.6.5, 3.7-3.7.1 3.3.6 2021-07-13 00:00:00 Wordfence
WooCommerce <= 9.7.0 - Authenticated (Shop Manager+) Stored Cross-Site Scripting N/A LOW Closed *-9.7.0 9.7.1 2025-03-12 00:00:00 Wordfence
WooCommerce 8.8.0 - 8.9.2 - Reflected Cross-Site Scripting via Order Attribution N/A LOW Closed 8.8.0-8.8.4, 8.9.0-8.9.2 8.8.5 2024-06-10 00:00:00 Wordfence
WooCommerce < 2.4.9 - Cross-site Scripting N/A LOW Closed [*, 2.4.9) 2.4.9 2015-11-17 00:00:00 Wordfence
WooCommerce <= 3.4.5 - WooCommerce File Deletion N/A LOW Closed [*, 3.4.6) 3.4.6 2018-11-06 00:00:00 Wordfence
WooCommerce <= 8.1.1 & WooCommerce Blocks <= 11.1.1 - Authenticated (Contributor+) Stored Cross-Site Scripting via Featured Image alt Attribute N/A LOW Closed *-8.1.1 8.2.0 2023-11-15 00:00:00 Wordfence
WooCommerce <= 3.5.1 - Authenticated Stored Cross-Site Scripting N/A LOW Closed *-3.5.1 3.5.2 2018-11-29 00:00:00 Wordfence
WooCommerce <= 5.1.3 - Authenticated (Admin+) Stored Cross-Site Scripting N/A LOW Closed [*, 5.2.0) 5.2.0 2021-04-21 00:00:00 Wordfence
WooCommerce < 8.4.0 - Reflected Cross-Site Scripting N/A LOW Closed [*, 8.4.0) 8.4.0 2024-01-12 00:00:00 Wordfence
WooCommerce < 4.7.0 - Insecure Direct Object Reference via order_id Parameter N/A LOW Closed [*, 4.7.0) 4.7.0 2020-01-21 00:00:00 Wordfence
WooCommerce <= 10.0.2 - Authenticated (Shop manager+) Stored Cross-Site Scripting N/A LOW Closed *-10.0.2 10.0.3 2025-10-29 00:00:00 Wordfence
WooCommerce <= 6.2.0 - Path Traversal via Tax Importer N/A LOW Closed *-6.2.0 6.2.1 2022-02-22 00:00:00 Wordfence
WooCommerce <= 2.6.8 - Authenticated Stored Cross-Site Scripting N/A LOW Closed [*, 2.6.9) 2.6.9 2016-12-07 00:00:00 Wordfence
WooCommerce <= 3.6.4 - Cross-Site Request Forgery to Stored Cross-Site Scripting N/A LOW Closed [*, 3.6.5) 3.6.5 2019-07-02 00:00:00 Wordfence
WooCommerce < 6.3.1 - Unauthorized Order Status Change N/A LOW Closed [3.5, 3.5.10), [3.6, 3.6.7), [3.7, 3.7.3), [3.8, 3.8.3), [3.9, 3.9.5), [4.0, 4.0.4) 3.5.10 2022-03-10 00:00:00 Wordfence
WooCommerce <= 2.3.5 - Stored Cross-Site Scripting N/A LOW Closed [*, 2.3.6) 2.3.6 2015-03-13 00:00:00 Wordfence
WooCommerce <= 6.2.0 - Incorrect Authorization Checks on REST API Endpoints N/A LOW Closed *-6.2.0 6.2.1 2022-02-22 00:00:00 Wordfence
WooCommerce <= 2.6.2 - Stored Cross-Site Scripting N/A LOW Closed [*, 2.6.3) 2.6.3 2016-07-19 00:00:00 Wordfence
WooCommerce <= 3.6.4 - Missing File Type Validation N/A LOW Closed *-3.6.4 3.6.5 2019-07-02 00:00:00 Wordfence
WooCommerce <= 10.4.2 - Authenticated (Subscriber+) Information Exposure N/A LOW Closed 10.0-10.0.4, 10.1-10.1.2, 10.2-10.2.2, 10.3-10.3.6, 8.1-8.1.2, 8.2-8.2.3 10.0.5 2025-12-22 00:00:00 Wordfence
WooCommerce <= 4.6.1 & WooCommerce Blocks <= 3.7.0 - Settings Bypass leading to Account Creation N/A LOW Closed [*, 4.6.2) 4.6.2 2020-11-05 00:00:00 Wordfence
WooCommerce <= 2.2.2 - Reflected Cross-Site Scripting N/A LOW Closed [*, 2.2.3) 2.2.3 2014-09-17 00:00:00 Wordfence
WooCommerce <= 4.0.4 - Unauthorized Post Meta Creation/Modification N/A LOW Closed [*, 4.1.0) 4.1.0 2020-05-05 00:00:00 Wordfence
WooCommerce <= 7.0.0 - Authenticated(Shop Manager+) Sensitive Information Exposure N/A LOW Closed *-7.0.0 7.0.1 2023-09-11 00:00:00 Wordfence
WooCommerce <= 8.9.2 - Authenticated (Shop Manager+) Content Injection N/A LOW Closed *-8.9.2 9.0.0 2024-06-27 00:00:00 Wordfence
WooCommerce <= 8.2.2 - Cross-Site Request Forgery N/A LOW Closed *-8.2.2 8.3.0 2024-01-05 00:00:00 Wordfence
WooCommerce <= 3.5.4 - Stored Cross-Site Scripting N/A LOW Closed [*, 3.5.5) 3.5.5 2019-02-20 00:00:00 Wordfence
WooCommerce <= 2.0.17 - Cross-Site Scripting N/A LOW Closed *-2.0.17 2.0.18 2013-10-17 00:00:00 Wordfence
WooCommerce <= 2.6.3 - Stored Cross-Site Scripting via REST-API N/A LOW Closed [*, 2.6.4) 2.6.4 2016-07-26 00:00:00 Wordfence
WooCommerce < 10.5.3 - Cross-Site Request Forgery N/A LOW Closed [*, 10.5.3) 10.5.3 2026-03-10 00:00:00 Wordfence
WooCommerce <= 4.2.0 - Reflected Cross-Site Scripting N/A LOW Closed [*, 4.2.1) 4.2.1 2020-06-22 00:00:00 Wordfence
WooCommerce <= 9.4.2 - PostMessage-Based Cross-Site Scripting N/A LOW Closed *-9.3.2, 9.4-9.4.2 9.3.4 2025-05-21 00:00:00 Wordfence
WooCommerce <= 2.2.2 - Cross-Site Scripting via range Parameter N/A LOW Closed [*, 2.2.3) 2.2.3 2014-09-15 00:00:00 Wordfence
WooCommerce <= 8.5.2 - Cross-Site Request Forgery N/A LOW Closed *-8.5.2 8.6.0 2024-04-05 00:00:00 Wordfence
WooCommerce <= 9.0.2 - Unauthenticated HTML Injection N/A LOW Closed *-9.0.2 9.1.0 2024-10-14 17:07:11 Wordfence
WooCommerce <= 2.2.10 - Cross-Site Scripting N/A LOW Closed [*, 2.2.11) 2.2.11 2015-01-29 00:00:00 Wordfence
WooCommerce <= 6.5.1 - Authenticated (Admin+) HTML Injection N/A LOW Closed [*, 6.6.0) 6.6.0 2022-06-20 00:00:00 Wordfence
WooCommerce <= 2.3.10 - PHP Object Injection N/A LOW Closed *-2.3.10 2.3.11 2015-06-10 00:00:00 Wordfence
WooCommerce < 5.7.0 & WooCommerce Admin < 2.6.4 - Information Disclosure N/A LOW Closed [*, 4.0), [4.0, 4.0.3), [4.1, 4.1.3), [4.2, 4.2.4), [4.3, 4.3.5), [4.4, 4.4.3) 4.0.3 2022-04-10 00:00:00 Wordfence
WooCommerce <= 7.8.2 - Sensitive Information Exposure N/A LOW Closed *-7.8.2 7.9.0 2023-09-11 00:00:00 Wordfence
WooCommerce <= 9.1.2 - Authenticated (Administrator+) Stored Cross-Site Scripting N/A LOW Closed *-9.1.2 9.1.3 2024-08-16 00:00:00 Wordfence
WooCommerce <= 2.0.12 - Self-Reflected Cross-Site Scripting N/A LOW Closed *-2.0.12 2.0.13 2013-07-18 00:00:00 Wordfence
WooCommerce <= 3.4.4 - Authenticated PHP Object Injection N/A LOW Closed [*, 3.4.5) 3.4.5 2018-08-29 00:00:00 Wordfence
WooCommerce <= 3.2.3 - Authenticated PHP Object Injection N/A LOW Closed [*, 3.2.4) 3.2.4 2017-11-16 00:00:00 Wordfence