POCBIT

Telegram — New PoC releases & critical CVE alerts

You can join our Telegram channel to get instant updates on new PoC releases and critical CVE alerts.

Join @pocbit
← Blog

WooCommerce Abandoned Cart Pro ATO (CVE-2026-97657): Forged Recovery Links and wp_set_auth_cookie

Admin · October 14, 2026 · 4 views

Recovery links are login buttons

CVE-2026-97657 affects Abandoned Cart Pro for WooCommerce (Tyche Softwares) ≤ 10.8.0. CVSS 3.1 9.8 Critical, CWE-639 — an unauthenticated attacker with one legitimate cart recovery URL can forge a token and log in as another customer, including shop administrators who abandoned a cart while logged in.

Public PoC: CVE-2026-97657 on pocbit.org. Repository: murrez/CVE-2026-97657.

| | | |---|---| | Affected | ≤ 10.8.0 | | Fix | Upgrade above 10.8.0 when vendor release is available | | Verify marker | POCBIT-97657-OK (PoC session check) |

Mechanism (defender view)

Cart checkout_link recovery uses AES-256-CTR tokens (8-byte nonce + ciphertext). The plugin loads encrypt_key from the request’s user_email. HMAC / wcap_nonce is validated only when wcap_nonce is present — omitting it skips integrity checks.

After decryption, abandoned_id (cart row primary key) is applied without binding to the email that owns that row. With auto-login on recovery (default), WordPress calls wp_set_auth_cookie() for the victim user_id tied to the forged cart ID.

CTR malleability: XOR the ciphertext so the plaintext cart ID changes from your row to the victim’s — equal string length required (zero-pad IDs like 0383 → 0001).

This is not generic WooCommerce core — only sites running Abandoned Cart Pro with vulnerable versions and checkout_link emails enabled.

Cross-read: authentication bypass — what to check, WordPress security checklist (2026), API security JWT mistakes.

Defender checklist

| # | Action | Detail | |---|--------|--------| | 1 | Inventory plugin | woocommerce-abandon-cart-pro / readme Stable tag | | 2 | Upgrade | > 10.8.0 per Wordfence / vendor advisory | | 3 | Mitigate interim | Disable auto-login on recovery links in plugin settings | | 4 | WAF (bridge) | Rate-limit wacp_action=checkout_link + validate | | 5 | Audit sessions | Admins who use storefront accounts — treat cart emails as secrets | | 6 | Lab validate | PoC check → controlled forge on staging with your own recovery link |

FAQ

We use Abandoned Cart Lite — affected?

This CVE targets Pro ≤ 10.8.0. Lite had separate HMAC hardening in 6.8.3 — still verify your exact product and version.

Is the recovery URL secret?

Treat it like a password reset link. Anyone with the URL and knowledge of cart row IDs can attack vulnerable builds.

Bottom line

CVE-2026-97657 turns marketing recovery emails into account takeover when crypto and authorization checks fail together. Patch Pro, turn off auto-login until fixed, and upgrade WooCommerce plugin hygiene alongside your next CVE Detector WordPress review.