Description
The bLoyal: Loyalty & Promotions by bLoyal plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.1.611.78. This is due to the AJAX actions `save_bloyal_configuration_data` and `save_bloyal_accesskeyverification_data` being registered without any capability or nonce checks, and the `bloyal_customer_auto_login` function unconditionally trusting the `Customer.ExternalId` value returned by whichever API URL is stored in the plugin's options. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite the plugin's bLoyal Loyalty Engine API URL (`bloyal_custom_loyaltyengine_api_url`) and the `is_bloyal_custom_api_url` flag via the unprotected AJAX actions, then trigger the unauthenticated `/cart` REST route to cause `bloyal_customer_auto_login` to fetch customer data from an attacker-controlled endpoint and call `wp_set_auth_cookie()` with an attacker-supplied `Customer.ExternalId`, thereby authenticating as any WordPress user including the site Administrator.
Published: 2026-08-15
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The bLoyal: Loyalty & Promotions by bLoyal plugin for WordPress is vulnerable to privilege escalation for authenticated users with Subscriber level access and above. The vulnerability is caused by the AJAX actions `save_bloyal_configuration_data` and `save_bloyal_accesskeyverification_data` being registered without sufficient capability or nonce checks. An attacker can overwrite the plugin’s Loyalty Engine API URL and the custom API flag, allowing later triggering of an unauthenticated `/cart` REST route that calls the `bloyal_customer_auto_login` function. The function trusts the `Customer.ExternalId` returned by the configured endpoint and calls `wp_set_auth_cookie()` with that value, effectively authenticating the attacker as any WordPress user, including the Administrator. This is a classic privilege escalation flaw (CWE‑269).

Affected Systems

Affected systems are installations of the bLoyal: Loyalty & Promotions by bLoyal WordPress plugin from the vendor connectordev. All versions up to and including 3.1.611.78 are impacted. Site administrators running WordPress with this plugin should verify their installed version and apply remediation.

Risk and Exploitability

The CVSS score is 8.8, indicating high severity. This vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog and the EPSS score is unavailable, but the nature of the flaw—unauthenticated REST route combined with unprotected AJAX endpoints—suggests that an attacker with moderate access could achieve full site compromise. The attack requires an authenticated user to use the unprotected AJAX actions, then an unauthenticated request to the `/cart` endpoint to trigger auto‑login. Because the vulnerability relies on configuration changes that can be performed by users with a Subscriber role, the risk surface is broad on multi‑user installations.

Generated by OpenCVE AI on August 15, 2026 at 03:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the bLoyal: Loyalty & Promotions by bLoyal plugin to the latest release that includes capability and nonce checks for the AJAX actions.
  • Restrict the unprotected AJAX actions `save_bloyal_configuration_data` and `save_bloyal_accesskeyverification_data` to administrator roles or temporarily disable them until a patch is applied.
  • Block unauthenticated access to the `/cart` REST route or configure it to require authentication, preventing the automatic login flow from being triggered by external endpoints.

Generated by OpenCVE AI on August 15, 2026 at 03:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 15 Aug 2026 02:45:00 +0000

Type Values Removed Values Added
Description The bLoyal: Loyalty & Promotions by bLoyal plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.1.611.78. This is due to the AJAX actions `save_bloyal_configuration_data` and `save_bloyal_accesskeyverification_data` being registered without any capability or nonce checks, and the `bloyal_customer_auto_login` function unconditionally trusting the `Customer.ExternalId` value returned by whichever API URL is stored in the plugin's options. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite the plugin's bLoyal Loyalty Engine API URL (`bloyal_custom_loyaltyengine_api_url`) and the `is_bloyal_custom_api_url` flag via the unprotected AJAX actions, then trigger the unauthenticated `/cart` REST route to cause `bloyal_customer_auto_login` to fetch customer data from an attacker-controlled endpoint and call `wp_set_auth_cookie()` with an attacker-supplied `Customer.ExternalId`, thereby authenticating as any WordPress user including the site Administrator.
Title bLoyal: Loyalty & Promotions by bLoyal <= 3.1.611.78 - Authenticated (Subscriber+) Privilege Escalation via Unprotected AJAX API URL Settings
Weaknesses CWE-269
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-08-15T02:26:17.515Z

Reserved: 2026-07-07T19:53:43.978Z

Link: CVE-2026-15001

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T03:16:47.393

Modified: 2026-08-15T03:16:47.393

Link: CVE-2026-15001

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-15T03:30:01Z

Weaknesses
  • CWE-269

    Improper Privilege Management