# Woo Swish e-commerce <= 3.7.8 - Unauthenticated Authentication Bypass to Payment Service Credential Injection via Legacy OAuth Callback

- **ID:** WPSEC-2026-1266
- **Plugin:** BjornTech Swish for WooCommerce (`woo-swish-e-commerce`), https://wordpress.org/plugins/woo-swish-e-commerce/
- **Affected versions:** all versions before 3.7.9
- **Fixed in:** 3.7.9 (Update to 3.7.9 or later.)
- **Severity:** Medium 6.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L)
- **Weakness:** CWE-287
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-10-20)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/woo-swish-e-commerce
- **Fix released:** 2026-10-18
- **Published:** 2026-10-20
- **URL:** https://wpsec.com/vuln/WPSEC-2026-1266/

## Description

The BjornTech Swish for WooCommerce plugin for WordPress is vulnerable to Authentication Bypass via the swish_admin WooCommerce API callback (admin_handler) in all versions up to, and including, 3.7.8. This is due to the handler comparing the JSON-supplied nonce and account UUID against the stored connection nonce and account UUID with loose (==) comparisons. Boolean or empty JSON values pass these checks whether or not a connection is pending. This makes it possible for unauthenticated attackers to overwrite the stored BjornTech service refresh token with a value they choose. This can tamper with or break the site's Swish payment integration.

## References

- https://wpsec.com/vuln/WPSEC-2026-1266/
- https://plugins.svn.wordpress.org/woo-swish-e-commerce/tags/3.7.9/
- https://wordpress.org/plugins/woo-swish-e-commerce/

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

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.
