CVE-2023-44149

Brands for WooCommerce <= 3.8.2.2 - Missing Authorization to Unauthenticated Order Manipulation and Information Retrieval

2023-09-22 00:00
thiennv

Strategic Overview

Status
Patched in 3.8.2.3
Affected Plugin
Brands for WooCommerce
Affected Version
< 3.8.2.3
CVSS
4.3Medium
Weakness type
CWE-352 · Cross-Site Request Forgery (CSRF)
CVE
CVE-2023-44149
View all Brands for WooCommerce vulnerabilities

At a glance

CVE-2023-44149 is a medium-severity Cross-Site Request Forgery (CSRF) vulnerability in the Brands for WooCommerce WordPress plugin, affecting versions < 3.8.2.3. It carries a CVSS score of 4.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 3.8.2.3; sites on affected versions should update now. Disclosed September 2023, reported by thiennv.

Vulnerability Overview

The Brands for WooCommerce plugin for WordPress is vulnerable to Missing Authorization in versions up to, and including, 3.8.2.2. This is due to missing capability checks on the clear_cache_ajax, save_order, br_get_products, br_get_brands, and save_all_orders functions hooked via AJAX nopriv actions. This makes it possible for unauthenticated attackers to modify orders and clear the plugin's cache. Please note that while the plugin author only added nonces to the functions, and not capability checks, the nonces are not disclosed to unauthorized users making this issue patched, though not perfectly.

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.

CWE-352: Cross-Site Request Forgery (CSRF)

Reaching this weakness in Brands for WooCommerce < 3.8.2.3 takes no account at all. Cross-site request forgery abuses the fact that browsers attach a victim's cookies to any request, so a state-changing action that only checks who you are, not whether you meant to act, can be triggered from another site.

An attacker who gets a logged-in user to load a crafted page can perform that action as them, with the impact scaling to whatever the victim's role is allowed to do. For Brands for WooCommerce the fix is 3.8.2.3: builds < 3.8.2.3 are affected, anything from 3.8.2.3 onward is not.

Remediation

Update to version 3.8.2.3, or a newer patched version

How does WordSec protect against this?

Requests carrying this pattern arrive without a session, so nothing upstream of the firewall gets a chance to reject them: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: Brands for WooCommerce 3.8.2.3 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Login Security
  • Alerts

External References

Related records

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