CVE-2026-110018

aBlocks <= 2.17.0 - Authenticated (Contributor+) Privilege Escalation to 'roleSlug' Block Attribute

Published Oct 24, 2026 CVSS 3.1 · 8.8 High EPSS < 1% KEV · Not listed
Description
The aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.17.0 via the `/ablocks/v1/form-builder/registration` REST endpoint. The vulnerability exists because the endpoint is registered with `permission_callback => __return_true` and the `register()` handler reads `roleSlug` directly from attacker-controlled block attributes in `post_content` without ever verifying that the block's `formType` is `registration` — a condition that `RegistrationFormSanitizer::verify()` imposes only at save-time, meaning a Contributor can preserve an arbitrary `roleSlug` by saving a block with `formType='login'` and then triggering the endpoint via a valid `wp_rest` nonce and post-ownership check. This makes it possible for authenticated attackers, with Contributor-level access and above, to escalate their WordPress role to Editor or any other non-administrator role and receive a fully authenticated session at the elevated privilege level via `WP_User::set_role()` and `wp_set_auth_cookie()`. Escalation is bounded below administrator-tier roles because `is_safe_registration_role()` rejects any role holding `manage_options`, `edit_users`, `delete_users`, `create_users`, `promote_users`, or `edit_theme_options`, meaning the highest practically reachable role on a standard WordPress installation is Editor.

Analysis

AI-generated

Technical impact

The aBlocks plugin for WordPress allows a user with Contributor or higher privileges to change another user’s role by submitting a specially crafted request to the REST endpoint /ablocks/v1/form-builder/registration. The endpoint accepts data without permission checks and does not confirm that the form block type is registration before reading the roleSlug value. By saving a form block as a login type, an attacker can embed a roleSlug for a higher role and then invoke the endpoint while authenticated, leading to the upgrade of their own WordPress role via WP_User::set_role() and wp_set_auth_cookie(). The vulnerability is limited to non‑administrator roles, with Editor being the highest reachable role on a standard installation.

Affected Systems

WordPress installations running the aBlocks Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder plugin from Kode Zen, any version 2.17.0 or earlier. The vulnerability exists across all affected releases, regardless of the specific version number within that range.

Risk and Exploitability

The CVSS score of 8.8 classifies this flaw as high severity, and while the EPSS score is unavailable, the lack of security controls on the exposed REST endpoint and the easy construction of role‑changing payloads means that authenticating attackers can exploit it once the plugin is installed. The flaw is not listed in the CISA KEV catalog, however the description of the plugin’s popularity and the vulnerable endpoint suggests that attackers could develop automated exploitation tools. The attack path requires only a Contributor‑level login and a valid WP REST nonce, both of which a legitimate site contributor typically possesses. Consequently, the likelihood of exploitation is significant in environments where contributors are retained long enough to search for such weaknesses or in compromised sites where attacker accounts exist.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the aBlocks plugin to a version newer than 2.17.0 before it is available through the WordPress admin area.
  • Revoke Contributor and higher permissions from users not required to edit or create content, or downgrade such users to a lower role such as Author.
  • Audit user role assignments and revoke any unexpected elevated roles that may have been granted after the vulnerability was discovered, ensuring no unauthorized role changes have occurred.

Generated by OpenCVE AI on October 24, 2026 at 12:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description The aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.17.0 via the `/ablocks/v1/form-builder/registration` REST endpoint. The vulnerability exists because the endpoint is registered with `permission_callback => __return_true` and the `register()` handler reads `roleSlug` directly from attacker-controlled block attributes in `post_content` without ever verifying that the block's `formType` is `registration` — a condition that `RegistrationFormSanitizer::verify()` imposes only at save-time, meaning a Contributor can preserve an arbitrary `roleSlug` by saving a block with `formType='login'` and then triggering the endpoint via a valid `wp_rest` nonce and post-ownership check. This makes it possible for authenticated attackers, with Contributor-level access and above, to escalate their WordPress role to Editor or any other non-administrator role and receive a fully authenticated session at the elevated privilege level via `WP_User::set_role()` and `wp_set_auth_cookie()`. Escalation is bounded below administrator-tier roles because `is_safe_registration_role()` rejects any role holding `manage_options`, `edit_users`, `delete_users`, `create_users`, `promote_users`, or `edit_theme_options`, meaning the highest practically reachable role on a standard WordPress installation is Editor.
Title aBlocks <= 2.17.0 - Authenticated (Contributor+) Privilege Escalation to 'roleSlug' Block Attribute
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.

Weaknesses
  • CWE-269

    Improper Privilege Management

Sources

Status
PUBLISHED
Assigner
Wordfence
Published
Updated
Oct 26, 2026, 5:40 PM
Reserved
Oct 13, 2026, 2:56 PM
Status
Deferred
Published
Oct 24, 2026, 12:16 PM
Modified
Oct 26, 2026, 6:17 PM