CVE-2026-103299

nexi Alpha Bank for WooCommerce <= 2.2.0 - Unauthenticated Payment Confirmation Forgery via Empty Shared Secret

Published Oct 26, 2026 CVSS 3.1 · 5.3 Medium EPSS < 1% KEV · Not listed
Description
The Payment Gateway WordPress plugin through 2.2.0 does not ensure a shared secret is configured before using it to authenticate the bank's payment-notification callback, allowing unauthenticated attackers to forge a valid notification and mark any WooCommerce order as paid on installs where the secret has not been set, and the same callback lets them move any pending order to a failed state whether or not the secret is configured.

Analysis

AI-generated

Technical impact

The nexi Alpha Bank for WooCommerce plugin up to version 2.2.0 does not enforce the presence of a shared secret when processing the bank’s payment‑notification callback. An attacker who can reach the callback endpoint can send an empty shared‑secret value and receive authentication, allowing the attacker to forge a valid payment confirmation. The forged notification marks any WooCommerce order as paid without the actual payment having taken place. In addition, the plugin’s callback can also transition any pending order to a failed state regardless of whether a secret is configured, compounding the impact. This flaw results in a full breach of the payment flow integrity, granting an unauthenticated attacker control over order status and potential financial loss.

Affected Systems

This vulnerability affects installations of the nexi Alpha Bank for WooCommerce WordPress plugin with version 2.2.0 or earlier. The plugin is used as a payment gateway for WooCommerce sites, and the vendor information is not publicly disclosed.

Risk and Exploitability

The EPSS score of <1% indicates a low likelihood of exploitation, and the vulnerability is not listed in CISA’s KEV. The CVSS score for this vulnerability is 5.3, indicating moderate severity. An attacker who can trigger the callback requires only to reach the plugin’s endpoint, which is typically exposed to the public internet. The absence of a shared secret removes the standard authentication barrier, making the exploitation trivial for those with network access to the site, and it is inferred that the attacker must reach the plugin's publicly exposed callback endpoint to exploit this vulnerability.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to a version of the nexi Alpha Bank for WooCommerce plugin that enforces a shared secret before accepting payment notifications.
  • Configure the plugin with a unique, non‑empty shared secret so that callbacks must present the correct value to succeed.
  • If upgrade or configuration is not possible, disable or remove the payment‑notification callback functionality or restrict access to it via IP whitelisting.

Generated by OpenCVE AI on October 30, 2026 at 22:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'}

Type Values Removed Values Added
Weaknesses CWE-287
Type Values Removed Values Added
Description The Payment Gateway WordPress plugin through 2.2.0 does not ensure a shared secret is configured before using it to authenticate the bank's payment-notification callback, allowing unauthenticated attackers to forge a valid notification and mark any WooCommerce order as paid on installs where the secret has not been set, and the same callback lets them move any pending order to a failed state whether or not the secret is configured.
Title nexi Alpha Bank for WooCommerce <= 2.2.0 - Unauthenticated Payment Confirmation Forgery via Empty Shared Secret
References

Subscriptions

No data.

Weaknesses

Sources

Status
PUBLISHED
Assigner
WPScan
Published
Updated
Oct 30, 2026, 8:00 PM
Reserved
Sep 30, 2026, 11:26 AM
Status
Deferred
Published
Oct 26, 2026, 7:17 AM
Modified
Oct 30, 2026, 8:16 PM