{"id":"CVE-2026-118205","aliases":["EUVD-2026-114227","GHSA-pvrf-6wrj-9xxg"],"status":"published","title":"Essential Addons for Elementor \u003c= 6.8.7 - Unauthenticated Privilege Escalation to 'page_id' Parameter via Elementor Revision","description":"The Essential Addons for Elementor – Popular Elementor Templates \u0026 Widgets plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 6.8.7 via the `page_id` parameter of the `register_user()` function. The vulnerability exists because the handler's post status deny-list rejects `future`, `draft`, and `pending` but admits `inherit` — the status carried by every WordPress revision — allowing an attacker to substitute a revision ID for a live page ID, while a flawed \"last saved by administrator\" check reads `post_author` on revisions (which reflects the editing administrator) rather than the `_edit_last` meta that is never copied to revisions, and the nonce gate is rendered ineffective because any unauthenticated visitor can freely obtain a valid nonce via the `wp_ajax_nopriv_eael_get_token` endpoint. This makes it possible for unauthenticated attackers to register an account with a role as high as Editor — gaining capabilities including `edit_others_posts`, `publish_pages`, `upload_files`, and `unfiltered_html` — by naming a revision whose `_elementor_data` contains an elevated role an administrator previously saved and later reverted on a page bearing the Login/Register widget. Successful exploitation requires that the site has \"Anyone can register\" enabled and that an administrator has at some point saved and then reverted a non-default \"New User Role\" on an affected page.","severity":{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00469,"percentile":0.41011,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-269"],"published":"2026-10-30T17:15:30Z","modified":"2026-10-30T19:18:17Z","products":[{"vendor":"wpdevteam","product":"essential addons for elementor – popular elementor templates \u0026 widgets"}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/a739cb9a-0b09-4303-8d4a-16fca1152adf?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/essential-addons-for-elementor-lite/tags/6.8.5/includes/Traits/Login_Registration.php#L1059"},{"url":"https://plugins.trac.wordpress.org/browser/essential-addons-for-elementor-lite/tags/6.8.5/includes/Traits/Login_Registration.php#L887"},{"url":"https://plugins.trac.wordpress.org/browser/essential-addons-for-elementor-lite/tags/6.8.5/includes/Traits/Login_Registration.php#L552"},{"url":"https://plugins.trac.wordpress.org/browser/essential-addons-for-elementor-lite/tags/6.8.5/includes/Traits/Login_Registration.php#L2762"},{"url":"https://plugins.trac.wordpress.org/browser/essential-addons-for-elementor-lite/tags/6.8.5/includes/Traits/Ajax_Handler.php#L1817"},{"url":"https://plugins.trac.wordpress.org/browser/essential-addons-for-elementor-lite/tags/6.8.5/includes/Classes/Bootstrap.php#L216"},{"url":"https://plugins.trac.wordpress.org/changeset/3770535/essential-addons-for-elementor-lite/trunk/includes/Traits/Login_Registration.php"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118205"},{"url":"https://github.com/advisories/GHSA-pvrf-6wrj-9xxg"}],"sources":{"cve":[{"id":"CVE-2026-118205","title":"Essential Addons for Elementor \u003c= 6.8.7 - Unauthenticated Privilege Escalation to 'page_id' Parameter via Elementor Revision","description":"The Essential Addons for Elementor – Popular Elementor Templates \u0026 Widgets plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 6.8.7 via the `page_id` parameter of the `register_user()` function. The vulnerability exists because the handler's post status deny-list rejects `future`, `draft`, and `pending` but admits `inherit` — the status carried by every WordPress revision — allowing an attacker to substitute a revision ID for a live page ID, while a flawed \"last saved by administrator\" check reads `post_author` on revisions (which reflects the editing administrator) rather than the `_edit_last` meta that is never copied to revisions, and the nonce gate is rendered ineffective because any unauthenticated visitor can freely obtain a valid nonce via the `wp_ajax_nopriv_eael_get_token` endpoint. This makes it possible for unauthenticated attackers to register an account with a role as high as Editor — gaining capabilities including `edit_others_posts`, `publish_pages`, `upload_files`, and `unfiltered_html` — by naming a revision whose `_elementor_data` contains an elevated role an administrator previously saved and later reverted on a page bearing the Login/Register widget. Successful exploitation requires that the site has \"Anyone can register\" enabled and that an administrator has at some point saved and then reverted a non-default \"New User Role\" on an affected page.","status":"published","published":"2026-10-30T17:15:30.431Z","modified":"2026-10-30T18:08:57.942Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-269"],"updated_at":"2026-11-02T14:20:04.156238Z"}],"euvd":[{"id":"EUVD-2026-114227","description":"The Essential Addons for Elementor – Popular Elementor Templates \u0026 Widgets plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 6.8.7 via the `page_id` parameter of the `register_user()` function. The vulnerability exists because the handler's post status deny-list rejects `future`, `draft`, and `pending` but admits `inherit` — the status carried by every WordPress revision — allowing an attacker to substitute a revision ID for a live page ID, while a flawed \"last saved by administrator\" check reads `post_author` on revisions (which reflects the editing administrator) rather than the `_edit_last` meta that is never copied to revisions, and the nonce gate is rendered ineffective because any unauthenticated visitor can freely obtain a valid nonce via the `wp_ajax_nopriv_eael_get_token` endpoint. This makes it possible for unauthenticated attackers to register an account with a role as high as Editor — gaining capabilities including `edit_others_posts`, `publish_pages`, `upload_files`, and `unfiltered_html` — by naming a revision whose `_elementor_data` contains an elevated role an administrator previously saved and later reverted on a page bearing the Login/Register widget. Successful exploitation requires that the site has \"Anyone can register\" enabled and that an administrator has at some point saved and then reverted a non-default \"New User Role\" on an affected page.","status":"published","published":"2026-10-30T17:15:30Z","modified":"2026-10-30T18:08:57Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T16:59:03.071815Z"}],"ghsa":[{"id":"GHSA-pvrf-6wrj-9xxg","title":"The Essential Addons for Elementor – Popular Elementor Templates \u0026 Widgets plugin for WordPress...","description":"The Essential Addons for Elementor – Popular Elementor Templates \u0026 Widgets plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 6.8.7 via the `page_id` parameter of the `register_user()` function. The vulnerability exists because the handler's post status deny-list rejects `future`, `draft`, and `pending` but admits `inherit` — the status carried by every WordPress revision — allowing an attacker to substitute a revision ID for a live page ID, while a flawed \"last saved by administrator\" check reads `post_author` on revisions (which reflects the editing administrator) rather than the `_edit_last` meta that is never copied to revisions, and the nonce gate is rendered ineffective because any unauthenticated visitor can freely obtain a valid nonce via the `wp_ajax_nopriv_eael_get_token` endpoint. This makes it possible for unauthenticated attackers to register an account with a role as high as Editor — gaining capabilities including `edit_others_posts`, `publish_pages`, `upload_files`, and `unfiltered_html` — by naming a revision whose `_elementor_data` contains an elevated role an administrator previously saved and later reverted on a page bearing the Login/Register widget. Successful exploitation requires that the site has \"Anyone can register\" enabled and that an administrator has at some point saved and then reverted a non-default \"New User Role\" on an affected page.","status":"published","published":"2026-10-30T18:32:44Z","modified":"2026-10-30T18:32:53Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-269"],"updated_at":"2026-11-02T15:14:52.01816Z"}],"nvd":[{"id":"CVE-2026-118205","description":"The Essential Addons for Elementor – Popular Elementor Templates \u0026 Widgets plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 6.8.7 via the `page_id` parameter of the `register_user()` function. The vulnerability exists because the handler's post status deny-list rejects `future`, `draft`, and `pending` but admits `inherit` — the status carried by every WordPress revision — allowing an attacker to substitute a revision ID for a live page ID, while a flawed \"last saved by administrator\" check reads `post_author` on revisions (which reflects the editing administrator) rather than the `_edit_last` meta that is never copied to revisions, and the nonce gate is rendered ineffective because any unauthenticated visitor can freely obtain a valid nonce via the `wp_ajax_nopriv_eael_get_token` endpoint. This makes it possible for unauthenticated attackers to register an account with a role as high as Editor — gaining capabilities including `edit_others_posts`, `publish_pages`, `upload_files`, and `unfiltered_html` — by naming a revision whose `_elementor_data` contains an elevated role an administrator previously saved and later reverted on a page bearing the Login/Register widget. Successful exploitation requires that the site has \"Anyone can register\" enabled and that an administrator has at some point saved and then reverted a non-default \"New User Role\" on an affected page.","status":"published","published":"2026-10-30T18:17:24.253Z","modified":"2026-10-30T19:18:17.903Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-269"],"updated_at":"2026-11-02T14:13:05.268617Z"}]}}
