---
id: "CVE-2026-103301"
kind: "vulnerability"
aliases: ["CVE-2026-103301"]
title: "Telcell WordPress payment plugin accepts forged payment notifications, marking orders paid"
severity: "medium"
cvss: 5.3
epss: 0.00114
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "payments", "telcell", "woocommerce", "wordpress"]
not_affected_if: ["plugin-2.0.5-or-later", "telcell-gateway-not-installed"]
published_at: "2026-10-21T09:17:05+00:00"
first_seen_at: "2026-10-23T21:57:28+00:00"
updated_at: "2026-10-25T04:21:05+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-103301", "first_seen_at": "2026-10-23T21:57:28+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-103301", "first_seen_at": "2026-10-24T13:15:54+00:00"}]
---

# Telcell WordPress payment plugin accepts forged payment notifications, marking orders paid

The Payment Gateway for Telcell WordPress plugin before 2.0.5 does not verify payment notifications because its signing secret is empty by default. An unauthenticated attacker can forge a notification and mark any WooCommerce order as paid, or mark an order as failed.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed version of the Payment Gateway for Telcell plugin in the WordPress admin under Plugins, or with `wp plugin get <plugin-slug> --field=version`.
- Check whether the plugin's signing secret setting is empty in the Telcell gateway settings.

## Fix

- Update the Payment Gateway for Telcell WordPress plugin to `2.0.5` or later.
- Set a non-empty signing secret in the gateway settings.

## Timeline

- 2026-10-23T21:57:28+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-103301
- 2026-10-24T13:15:54+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-103301

## From the sources

The Payment Gateway for Telcell WordPress plugin before 2.0.5 does not verify the authenticity of incoming payment notifications, because the secret used to sign them is empty by default, allowing unauthenticated attackers to forge a valid notification and mark arbitrary WooCommerce orders as paid. The same handler also marks an attacker-chosen order as failed when given an invalid signature.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
