# Woo Swish e-commerce <= 3.7.8 - Missing Authorization to Authenticated (Contributor+) Swish Service Connect and Disconnect

- **ID:** WPSEC-2026-1265
- **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 5.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L)
- **Weakness:** CWE-862
- **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-1265/

## Description

The BjornTech Swish for WooCommerce plugin for WordPress is vulnerable to unauthorized modification of data via the connect_swish_service and disconnect_swish_service AJAX actions in all versions up to, and including, 3.7.8. This is due to a missing capability check in the handlers, which only verified a nonce that the plugin prints on every wp-admin page. This makes it possible for authenticated attackers with contributor-level access and above to disconnect the store from the BjornTech Swish service, clearing the stored account UUID and refresh token. If they know the configured merchant number and e-mail address, they can also restart the service connection, which switches the connection type and replaces the account UUID. Either action disrupts the store's Swish payments.

## References

- https://wpsec.com/vuln/WPSEC-2026-1265/
- 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-1265/

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.
