WooCommerce < 4.7.0 - Insecure Direct Object Reference via order_id Parameter
Strategic Overview
- Status
- Patched in 4.7.0
- Affected Plugin
- WooCommerce
- Affected Version
< 4.7.0- CVSS
- 5.3Medium
- Weakness type
- CWE-639 · Authorization Bypass Through User-Controlled Key
- CVE
CVE-2020-29156
At a glance
CVE-2020-29156 is a medium-severity Authorization Bypass Through User-Controlled Key vulnerability in the WooCommerce WordPress plugin, affecting versions < 4.7.0. It carries a CVSS score of 5.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 4.7.0; sites on affected versions should update now. Disclosed January 2020, reported by Ko-kn3t.
Vulnerability Overview
The WooCommerce plugin before 4.7.0 for WordPress allows remote attackers to view the status of arbitrary orders via the order_id parameter in a fetch_order_status action.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user.
CWE-639: Authorization Bypass Through User-Controlled Key
Reaching this weakness in WooCommerce < 4.7.0 takes a caller who can reach the endpoint. Authorization bypass through a user-controlled key, often called insecure direct object reference, means the application looks up a record by an identifier from the request without checking that the caller owns it.
Changing a number in the request is enough to read or modify other users' records, which on commerce and membership sites means customer data. For WooCommerce the fix is 4.7.0: builds < 4.7.0 are affected, anything from 4.7.0 onward is not.
Remediation
Update to version 4.7.0, or a newer patched version
How does WordSec protect against this?
Because it turns on account access, WordSec's login security is the relevant layer: role-based two-factor, captcha and brute-force limits raise the cost of getting the account this needs. None of that substitutes for the fix: WooCommerce 4.7.0 closes this, and updating the plugin is the step that ends it.
- Login Security
- Alerts
External References
Related records
Other vulnerabilities in WooCommerce
- 8.8CVE-2021-32790: WooCommerce < 5.5 Blind SQL Injection
CVE-2021-32790 - 8.8WooCommerce <= 4.0.4 Unauthorized Post Meta Creation/Modification
- 8.8WooCommerce <= 3.6.4 CSRF to Stored Cross-Site Scripting
- 8.8CVE-2017-18356: WooCommerce <= 3.2.3 PHP Object Injection
CVE-2017-18356 - 7.5CVE-2026-48888: WooCommerce < 11.1.0 Denial of Service
CVE-2026-48888 - 7.5WooCommerce <= 2.3.10 PHP Object Injection
- 7.3CVE-2014-6313: WooCommerce <= 2.2.2 Cross-Site Scripting
CVE-2014-6313 - 7.2WooCommerce <= 6.2.0 Path Traversal via Tax Importer
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C