Ad · Leaderboard 728×90

CVE-2026-109400

7.5High

Published 16 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash

7.5High
Attack vector
Network
Complexity
High
Privileges needed
Low
User interaction
None
Impact
Full C/I/A compromise
Weakness
CWE-269

Impact

Authenticated low-privilege users (such as Subscribers) can escalate to full WordPress administrator accounts. To exploit this, the site must be connected to InstaWP and an admin must have added the user's role to the plugin's Sync Tab Access list.

Root cause

The plugin registers its admin settings page using a role name instead of an explicit capability check and renders the master API key in plaintext HTML to unauthorized roles, allowing attackers to authenticate to the REST API and generate admin login sessions.

Affected systems

InstaWP Connect – 1-click WP Staging & Migration plugin for WordPress up to, and including, 0.1.4.1

CVSS v3.1 · CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

Fix & remediation

Upgrade to a version newer than 0.1.4.1 when released. As an immediate workaround, remove all lower-privileged roles from the plugin's Sync Tab Access list (instawp_sync_tab_roles) or deactivate the plugin.

shell
$ wp plugin update instawp-connect

AI-suggested. Run it in staging first and check it against the vendor advisory. Why?

Ad · In-content banner

NVD description

The InstaWP Connect – 1-click WP Staging & Migration plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 0.1.4.1 This is due to the plugin registering its admin page via `add_management_page()` using a role name returned by `InstaWP_Setting::get_allowed_role()` as the required capability — which WordPress resolves as a real capability match for any user holding that role — combined with `generate_section_field()` rendering the master API key from the `instawp_api_options` option directly as the `value` attribute of a plain-text HTML input with no additional `manage_options` or equivalent capability check. This makes it possible for authenticated attackers with Subscriber-level access and above to read the plaintext master API key, use its SHA-256-derived secret as a bearer token accepted by the plugin's REST API `validate_api_request()`, and call `POST /wp-json/instawp-connect/v2/auto-login` to mint a 30-second single-use login URL that sets an administrator authentication cookie — fully escalating their privileges. Exploitation requires the site to be actively connected to InstaWP and an administrator to have added the attacker's role to the plugin's Sync Tab Access list (`instawp_sync_tab_roles`); notably, the settings tab suppression logic only hides the tab when `administrator` is absent from the list entirely, meaning a mixed configuration retaining administrator alongside a lower role still serves the full settings page — including the API key — to the lower-privileged user.

References

Source: nvd.nist.gov/vuln/detail/CVE-2026-109400

Ad · Sticky 320×50 / 728×90