CVE-2020-29156

WooCommerce < 4.7.0 - Insecure Direct Object Reference via order_id Parameter

2020-01-21 00:00
Ko-kn3t

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
View all WooCommerce vulnerabilities

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

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C