# Wallet for WooCommerce <= 1.7.3 - Authenticated (Subscriber+) Wallet Balance Manipulation via REST Top-Up 'currency' Parameter

- **ID:** WPSEC-2026-2195
- **Plugin:** Wallet for WooCommerce (`woo-wallet`), https://wordpress.org/plugins/woo-wallet/
- **Affected versions:** all versions before 1.7.4
- **Fixed in:** 1.7.4 (Update to 1.7.4 or later.)
- **Severity:** Medium 5.3 (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N)
- **Weakness:** CWE-840
- **Usage among sites WPSec scans:** plugin Medium, affected versions Medium (as of 2026-11-03)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/woo-wallet
- **Fix released:** 2026-10-31
- **Published:** 2026-11-03
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2195/

## Description

The Wallet for WooCommerce plugin for WordPress is vulnerable to wallet balance manipulation via the 'currency' parameter of the terawallet/v1/me/topup REST endpoint in all versions up to, and including, 1.7.3, due to the endpoint accepting any three-letter currency code for the top-up order while the wallet credit converts the order currency to the store base currency at a 1:1 rate whenever no exchange rate is known (the default when no supported currency switcher is active), and comparing the minimum/maximum top-up limits against the unconverted amount. This makes it possible for authenticated attackers, with subscriber-level access and above, to pay for a top-up in a low-value currency and receive the same nominal amount as wallet credit in the store currency, provided the payment gateway accepts that currency.

## References

- https://wpsec.com/vuln/WPSEC-2026-2195/
- https://plugins.svn.wordpress.org/woo-wallet/tags/1.7.4/
- https://wordpress.org/plugins/woo-wallet/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2195/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
