{"id":"CVE-2026-111114","kind":"vulnerability","aliases":["CVE-2026-111114"],"related":[],"title":"Nexter Extension WordPress plugin: subscribers can regain stale administrator role","description":"The Nexter Extension – Security, Performance, Code Snippets & Site Toolkit plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 4.7.11 The vulnerability exists because the `/?reset-view` handler in `role_switcher_to_view_admin_as()` performs no nonce or capability check when the supplied username matches the authenticated caller, and because the plugin's only cleanup mechanism — the `profile_update` hook — does not fire when WordPress performs a bulk role change via `wp-admin/users.php?action=promote`, which calls `WP_User::set_role()` directly and leaves a stale `administrator` value in the `nxtext_view_admin_original_role` user meta. This makes it possible for authenticated attackers with Subscriber-level access or above to restore the stale stored Administrator role to their own account, effectively escalating their privileges to Administrator. Exploitation requires that the attacker's account previously held the Administrator role and used the View Admin Role Switcher feature before being demoted specifically through the bulk role-change control rather than the Edit User screen, as only the bulk path bypasses the `profile_update` hook that would otherwise have cleared the stored original role.","summary":"The Nexter Extension WordPress plugin, through version 4.7.11, lets a logged-in user restore a stale Administrator role on their own account. The stale role is left behind when an admin is demoted through the bulk role-change screen instead of the user edit screen.","severity":"high","cvss":7.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["nexter-extension","package","self-hosted","wordpress","wordpress-plugin"],"not_affected_if":["no-bulk-admin-demotion","plugin-updated-past-4.7.11","view-admin-switcher-unused"],"how_to_check":"- Find the installed version with `wp plugin list` or the WordPress Plugins screen; versions up to and including `4.7.11` are affected.\n- Check whether any user meta `nxtext_view_admin_original_role` is set to `administrator` on accounts that are now lower roles, for example with `wp user meta list <user-id>`.\n- Check whether the View Admin Role Switcher feature was used by accounts that were later demoted with the bulk promote/role-change action.","fix":"- Update the Nexter Extension plugin to a version later than `4.7.11`; the sources do not name the fixed version.\n- Delete stale `nxtext_view_admin_original_role` user meta from accounts that are no longer administrators, for example with `wp user meta delete <user-id> nxtext_view_admin_original_role`.\n- Review accounts with Subscriber or higher access for unexpected administrator roles.","status":"open","published_at":"2026-10-16T05:17:30+00:00","first_seen_at":"2026-10-23T21:57:12+00:00","triaged_at":"2026-10-25T03:25:26+00:00","updated_at":"2026-10-25T03:25:26+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T03:25:26Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Nexter Extension plugin to a version later than `4.7.11`; the sources do not name the fixed version.\n- Delete stale `nxtext_view_admin_original_role` user meta from accounts that are no longer administrators, for example with `wp user meta delete <user-id> nxtext_view_admin_original_role`.\n- Review accounts with Subscriber or higher access for unexpected administrator roles.","reach":"internet","title":"Nexter Extension WordPress plugin: subscribers can regain stale administrator role","impact":"high","summary":"The Nexter Extension WordPress plugin, through version 4.7.11, lets a logged-in user restore a stale Administrator role on their own account. The stale role is left behind when an admin is demoted through the bulk role-change screen instead of the user edit screen.","category":"package","nicknames":[],"who_cares":["wordpress","wordpress-plugin","nexter-extension","self-hosted"],"confidence":0.7,"needs_auth":"yes","worst_case":"Authenticated subscriber becomes site administrator through stale stored role","analyst_note":"Find the fixed plugin version and any vendor advisory for Nexter Extension; the sources give no patched release.","how_to_check":"- Find the installed version with `wp plugin list` or the WordPress Plugins screen; versions up to and including `4.7.11` are affected.\n- Check whether any user meta `nxtext_view_admin_original_role` is set to `administrator` on accounts that are now lower roles, for example with `wp user meta list <user-id>`.\n- Check whether the View Admin Role Switcher feature was used by accounts that were later demoted with the bulk promote/role-change action.","needs_analyst":true,"not_affected_if":["plugin-updated-past-4.7.11","view-admin-switcher-unused","no-bulk-admin-demotion"],"who_is_affected":"Sites running the Nexter Extension plugin at version 4.7.11 or earlier are exposed. The attack needs an account that was once an Administrator, used the View Admin Role Switcher, and was then demoted through the bulk role-change control. Sites that never used that feature or never demoted an admin in bulk are much less exposed.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.001238,"input_tokens":3632,"output_tokens":1750,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-111114':13A,16A '-2026':12A,15A '/users.php':156C '4.7.11':35B,99C 'access':192C 'account':50B,205C,218C 'action':157C 'admin':59B,114C,155C,176C,228C 'administr':9A,45B,170C,200C,211C,222C 'attack':187C,216C 'authent':128C,186C 'behind':56B 'bulk':64B,149C,238C,252C 'bypass':254C 'call':160C 'caller':129C 'capabl':120C 'chang':67B,151C,241C 'check':121C 'cleanup':136C 'clear':263C 'code':80C 'control':242C 'cve':11A,14A 'demot':61B,234C 'direct':165C 'edit':73B,246C 'effect':206C 'escal':91C,207C 'exist':102C 'exploit':212C 'extens':2A,19B,30B,77C 'featur':231C 'fire':144C 'handler':108C 'held':220C 'hook':141C,258C 'host':23B 'includ':98C 'instead':69B 'leav':167C 'left':55B 'let':36B 'level':191C 'log':39B 'logged-in':38B 'make':182C 'match':126C 'mechan':137C 'meta':180C 'nexter':1A,18B,29B,76C 'nexter-extens':17B 'nonc':118C 'nxtext':174C 'origin':177C,266C 'otherwis':261C 'packag':20B 'path':253C 'perform':79C,116C,147C 'plugin':4A,27B,32B,84C,133C 'possibl':184C 'previous':219C 'privileg':90C,209C 'profil':139C,256C 'promot':158C 'rather':243C 'regain':7A 'requir':213C 'reset':106C 'reset-view':105C 'restor':42B,196C 'role':10A,46B,53B,66B,110C,150C,164C,178C,201C,223C,229C,240C,267C 'role-chang':65B,239C 'screen':68B,74B,248C 'secur':78C 'self':22B 'self-host':21B 'set':163C 'site':82C 'snippet':81C 'specif':235C 'stale':8A,44B,52B,169C,198C 'store':199C,265C 'subscrib':5A,190C 'subscriber-level':189C 'suppli':124C 'switcher':111C,230C 'toolkit':83C 'updat':140C,257C 'use':225C 'user':41B,72B,162C,179C,247C 'usernam':125C 'valu':171C 'version':34B,94C 'via':152C 'view':107C,113C,175C,227C 'vulner':88C,101C 'wordpress':3A,24B,26B,31B,86C,146C 'wordpress-plugin':25B 'would':260C 'wp':154C,161C 'wp-admin':153C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Nexter Extension plugin at version 4.7.11 or earlier are exposed. The attack needs an account that was once an Administrator, used the View Admin Role Switcher, and was then demoted through the bulk role-change control. Sites that never used that feature or never demoted an admin in bulk are much less exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T05:17:30+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111114","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111114","severity":null,"published_at":"2026-10-16T05:17:30+00:00","modified_at":"2026-10-16T16:17:04+00:00","first_seen_at":"2026-10-23T21:57:12+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}