Description
The Points and Rewards for WooCommerce plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 2.10.0. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with subscriber-level access and above, to convert and drain any user's reward points into wallet balance, exfiltrate all users' emails and point balances to an attacker-controlled Klaviyo account, overwrite the site's Klaviyo public API key, block or unblock arbitrary users from the points system, and modify campaign banner and heading settings. The nonce used for authentication of these requests (wps-wpr-verify-nonce) is injected into every public-facing page via wp_localize_script(), and the wps_wpr_generate_custom_wallet handler is additionally registered on the wp_ajax_nopriv_ hook, meaning unauthenticated visitors can also obtain a valid nonce and exploit that specific action.
Published: 2026-07-11
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Points and Rewards for WooCommerce plugin never properly verified user authorization for several AJAX endpoints. As a result, authenticated users with subscriber-level access or higher can trigger actions that drain any user’s reward points into a wallet, exfiltrate all users’ email addresses and point balances, overwrite the site’s Klaviyo public API key, block or unblock any user from the points system, and modify campaign banner and heading settings. This classic authorization bypass (CWE‑862) permits privilege escalation, data exposure, and revenue manipulation.

Affected Systems

WordPress sites that have installed the wpswings Points and Rewards for WooCommerce plugin in versions 2.9.x through 2.10.0 are vulnerable. All installations running these affected releases are at risk of the flaw.

Risk and Exploitability

The vulnerability carries a CVSS score of 4.3, indicating moderate severity, and an EPSS score of <1%, indicating a low likelihood of exploitation at the time of this assessment; it is not listed in CISA’s KEV catalog. Exploitation requires a subscriber or higher role, but because the wps_wpr_generate_custom_wallet action is registered on the wp_ajax_nopriv hook and the nonce is injected into every public page, even unauthenticated visitors can obtain a valid nonce and invoke that specific action. The attack vector is remote and mediated through the site’s AJAX interface.

Generated by OpenCVE AI on July 29, 2026 at 09:32 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Points and Rewards for WooCommerce plugin to the latest available version to remove the missing authorization checks.
  • If an upgrade is not immediately possible, restrict the wps_wpr_* AJAX endpoints so that only administrator users can invoke them, or block them entirely via role‑based access control in custom code.
  • Deploy a web application firewall rule to block or rate‑limit requests to the wps_wpr_* endpoints to mitigate automated exploitation attempts.

Generated by OpenCVE AI on July 29, 2026 at 09:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
Link Providers
https://plugins.trac.wordpress.org/browser/points-and-rewards-for-woocommerce/tags/2.10.0/admin/class-points-rewards-for-woocommerce-admin.php#L1814 cve-icon
https://plugins.trac.wordpress.org/browser/points-and-rewards-for-woocommerce/tags/2.10.0/admin/class-points-rewards-for-woocommerce-admin.php#L2568 cve-icon
https://plugins.trac.wordpress.org/browser/points-and-rewards-for-woocommerce/tags/2.10.0/admin/class-points-rewards-for-woocommerce-admin.php#L2657 cve-icon
https://plugins.trac.wordpress.org/browser/points-and-rewards-for-woocommerce/tags/2.10.0/public/class-points-rewards-for-woocommerce-public.php#L191 cve-icon
https://plugins.trac.wordpress.org/browser/points-and-rewards-for-woocommerce/tags/2.10.0/public/class-points-rewards-for-woocommerce-public.php#L3493 cve-icon
https://plugins.trac.wordpress.org/browser/points-and-rewards-for-woocommerce/tags/2.9.7/admin/class-points-rewards-for-woocommerce-admin.php#L1814 cve-icon
https://plugins.trac.wordpress.org/browser/points-and-rewards-for-woocommerce/tags/2.9.7/admin/class-points-rewards-for-woocommerce-admin.php#L2568 cve-icon
https://plugins.trac.wordpress.org/browser/points-and-rewards-for-woocommerce/tags/2.9.7/admin/class-points-rewards-for-woocommerce-admin.php#L2657 cve-icon
https://plugins.trac.wordpress.org/browser/points-and-rewards-for-woocommerce/tags/2.9.7/public/class-points-rewards-for-woocommerce-public.php#L191 cve-icon
https://plugins.trac.wordpress.org/browser/points-and-rewards-for-woocommerce/tags/2.9.7/public/class-points-rewards-for-woocommerce-public.php#L3493 cve-icon
https://plugins.trac.wordpress.org/changeset?reponame=&old=3602815%40points-and-rewards-for-woocommerce&new=3602815%40points-and-rewards-for-woocommerce cve-icon
https://www.wordfence.com/threat-intel/vulnerabilities/id/582e15cb-b924-4c24-818e-dfc2900f82c3?source=cve cve-icon
History

Wed, 15 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sat, 11 Jul 2026 04:45:00 +0000

Type Values Removed Values Added
First Time appeared Wordpress
Wordpress wordpress
Wpswings
Wpswings points And Rewards For Woocommerce
Vendors & Products Wordpress
Wordpress wordpress
Wpswings
Wpswings points And Rewards For Woocommerce

Sat, 11 Jul 2026 03:30:00 +0000

Type Values Removed Values Added
Description The Points and Rewards for WooCommerce plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 2.10.0. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with subscriber-level access and above, to convert and drain any user's reward points into wallet balance, exfiltrate all users' emails and point balances to an attacker-controlled Klaviyo account, overwrite the site's Klaviyo public API key, block or unblock arbitrary users from the points system, and modify campaign banner and heading settings. The nonce used for authentication of these requests (wps-wpr-verify-nonce) is injected into every public-facing page via wp_localize_script(), and the wps_wpr_generate_custom_wallet handler is additionally registered on the wp_ajax_nopriv_ hook, meaning unauthenticated visitors can also obtain a valid nonce and exploit that specific action.
Title Points and Rewards for WooCommerce <= 2.10.1 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Modification via Multiple AJAX Actions
Weaknesses CWE-862
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N'}


Subscriptions

Wordpress Wordpress
Wpswings Points And Rewards For Woocommerce
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-07-15T13:55:16.005Z

Reserved: 2026-06-02T14:19:11.159Z

Link: CVE-2026-10628

cve-icon Vulnrichment

Updated: 2026-07-15T13:55:08.465Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-29T09:45:04Z

Weaknesses