Privilege escalation in aBlocks WordPress plugin
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Privilege escalation
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-269.
Summary
The aBlocks WordPress plugin, in all versions up to and including 2.17.0, has improper privilege management (CWE-269). The registration REST endpoint trusts the roleSlug value stored in block attributes without checking that the block is a registration form, so an authenticated Contributor can raise their account to Editor or another non-administrator role and receive a logged-in session at that role. Roles holding administrator-level capabilities are blocked, so Editor is the highest reachable role.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| kodezen | aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder | up to 2.17.0 | — | No fix listed | CNA |
- aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder Vendorkodezen Affected up to 2.17.0 Fixed in — No fix listed CNA
Remediation
The sources list no fixed version for aBlocks (Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder).
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Timeline
- 2026-10-24 Threatist record created from CVE-2026-110018
- 2026-10-24 Alias added: GHSA-j3rc-5xc4-8hjg
- 2026-10-25 Priority changed: MEDIUM → LOW
- 2026-10-26 CISA SSVC decision points changed
- 2026-10-26 Priority changed: LOW → MEDIUM
References
Other 7
- https://www.wordfence.com/threat-intel/vulnerabilities/id/6fe7efb5-540b-4d85-852f-ad572da7ecdd?source=cve
- https://plugins.trac.wordpress.org/browser/ablocks/tags/2.16.0/includes/api/form-builder-controller.php#L353
- https://plugins.trac.wordpress.org/browser/ablocks/tags/2.16.0/includes/api/form-builder-controller.php#L70
- https://plugins.trac.wordpress.org/browser/ablocks/tags/2.16.0/includes/api/form-builder-controller.php#L345
- https://plugins.trac.wordpress.org/browser/ablocks/tags/2.16.0/includes/blocks/form-builder/block-attr-sanitizer/sanitizers/form-builder/registration-form-sanitizer.php#L28
- https://plugins.trac.wordpress.org/browser/ablocks/tags/2.16.0/includes/api/form-builder-controller.php#L685
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3756864%40ablocks&new=3756864%40ablocks
More kodezen vulnerabilities
- TI-2025-08451 Unrestricted file upload in kodezen StoreEngine — Complete eCommerce Solution with… CVSS 3.1HIGH 8.8
- TI-2024-25935 WordPress Academy LMS plugin <= 2.0.4 - Broken Access Control vulnerability CVSS 3.1HIGH 8.8
- TI-2025-08450 Path traversal in kodezen StoreEngine — Complete eCommerce Solution with Memberships… CVSS 3.1MEDIUM 6.5
- TI-2025-14160 Authorization bypass in kodezen Academy LMS – WordPress LMS Plugin for Complete eLearning… CVSS 3.1CRITICAL 9.8
- TI-2024-01406 Improper privilege management in kodezen Academy LMS – WordPress LMS Plugin for Complete… CVSS 3.1HIGH 8.8
- TI-2026-41323 WordPress aBlocks plugin < 2.9.1 - Privilege Escalation vulnerability CVSS 3.1HIGH 8.8
Sources
- CVE-2026-110018 · CVE Program
- CVE-2026-110018 · NVD
- FIRST EPSS
- GHSA-j3rc-5xc4-8hjg · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences