Skip to main content

InstaWP Connect CVE-2026-109400

| EUVDEUVD-2026-102643 HIGH
Improper Privilege Management (CWE-269)
2026-10-16 Wordfence GHSA-frvw-wvjh-gg5q
7.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as Subscriber-level user
  2. Delivery
    Read plaintext master API key from exposed settings page
  3. Exploit
    Forge SHA-256 bearer token for plugin REST API
  4. Execution
    Call auto-login endpoint to mint 30-second admin URL
  5. Impact
    Set administrator cookie and escalate privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires ALL of the following: (1) the attacker holds an authenticated account at Subscriber level or above; (2) the site is actively connected to InstaWP (a valid master API key exists in instawp_api_options); and (3) an administrator has added the attacker's role to the plugin's Sync Tab Access list (instawp_sync_tab_roles). A key limiting factor is that the settings tab is only suppressed when 'administrator' is entirely absent from the list - so a mixed configuration that retains administrator alongside a lower role still serves the full settings page and API key to the lower-privileged user, which is the exploitable state. This is a non-default, administrator-created condition, which is why realistic exposure is narrower than the CVSS base score alone suggests.

Impact

This is a genuine full-takeover privilege escalation (CWE-269) in InstaWP Connect for WordPress reported by Wordfence, but its real-world risk is moderate rather than critical because exploitation depends on a specific, non-default configuration. The CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H) correctly captures the tension: impact is maximal (C:H/I:H/A:H - a Subscriber becomes Administrator), the attacker needs only low privileges (PR:L) and no user interaction, but AC:H reflects the two preconditions that must both hold - the site must be actively connected to InstaWP, and an administrator must have added the attacker's role to the Sync Tab Access list (instawp_sync_tab_roles) in a mixed configuration that still exposes the API key. No EPSS score, KEV listing, or public exploit was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the absence of these signals is consistent with a recently disclosed, config-dependent flaw rather than one under mass exploitation. Net: prioritize for sites running this plugin that match the vulnerable configuration, but AC:H and the PR:L authenticated prerequisite meaningfully narrow the exposed population versus a drive-by unauthenticated bug.

Exploit ScenarioDerived

On a WordPress site actively connected to InstaWP where an administrator has added a low-privileged role to the Sync Tab Access list alongside administrator, an authenticated Subscriber opens the plugin settings page and reads the plaintext master API key rendered directly in a plain-text input. The attacker derives the SHA-256 secret, presents it as a bearer token to the plugin's REST API, and calls 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 to admin. No public exploit code is identified at time of analysis, but the attack path is fully described in the advisory and trivial to reproduce manually.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 16, 2026

Privilege escalation in the InstaWP Connect - 1-click WP Staging & Migration WordPress plugin (all versions up to and including 0.1.4.1) lets any authenticated user at Subscriber level or above read the site's plaintext InstaWP master API key from a plugin settings page and redeem it for a full administrator session. The key is disclosed because the admin page is registered with a role name returned by InstaWP_Setting::get_allowed_role() in place of a real capability, and because generate_section_field() prints the master API key directly into a plain-text HTML input without a manage_options check; the attacker then derives the bearer secret from that key, satisfies the plugin's REST validate_api_request(), and calls POST /wp-json/instawp-connect/v2/auto-login to mint a 30-second single-use login URL that sets an administrator authentication cookie. Exploitation is not default-configured: it additionally requires the site to be actively connected to InstaWP (a valid master API key in instawp_api_options) and an administrator to have added the attacker's role to the plugin's Sync Tab Access list (instawp_sync_tab_roles) while still retaining administrator in that list, so realistic exposure is narrower than the 7.5 base score implies. There is no public exploit code identified at time of analysis and the issue is not confirmed actively exploited (no CISA KEV listing); authentication requirements are authenticated (CVSS PR:L) with high attack complexity (AC:H).

RemediationAI

Upstream fix available (changeset/commit); a released patched version is not independently confirmed in the provided data - the vendor trunk changeset https://plugins.trac.wordpress.org/changeset/3743786/instawp-connect/trunk/includes/class-instawp-setting.php modifies the settings class, so administrators should upgrade as soon as a tagged release beyond 0.1.4.1 is published and verify the changelog entry before deploying. Where immediate upgrade is impossible, the most effective compensating control is to correct the instawp_sync_tab_roles option so it never combines 'administrator' with a lower-privileged role: either keep the Sync Tab Access list restricted to administrator only (the settings page still renders for admins, so plugin configuration keeps working) or remove administrator entirely and list only the intended lower roles, which triggers the existing tab-suppression logic - both variants reduce or remove the shared-access state, at the cost of taking away Sync Tab functionality from editors/authors/subscribers who were previously granted it. A second, stronger containment is to disconnect the site from InstaWP while unpatched, which removes the master API key from instawp_api_options and breaks the disclosure-to-token chain, with the clear trade-off that staging, migration and auto-login features become unavailable. After patching or mitigation, rotate the InstaWP master API key (reconnect the site) so any key already read by a low-privileged account is invalidated, and treat a rotation as mandatory if the attacker role was ever present in the Sync Tab Access list. Additionally audit subscriber-and-above accounts for unexpected administrators, review the database option instawp_api_options for tampering, and scan web/server logs for POST requests to /wp-json/instawp-connect/v2/auto-login followed by administrative session creation, since that endpoint is the exploitable post-disclosure step. The principal advisory to track is the Wordfence threat-intel entry at https://www.wordfence.com/threat-intel/vulnerabilities/id/925b009e-3aeb-496d-8218-6ea5dc9d9989?source=cve.

Affected VersionsENISA

InstaWP Connect – 1-click WP Staging & Migration 0 ≤0.1.4.1

Affected Packages

euvd instawp_connect_1_click_wp_staging_migration no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is a CWE-269 improper privilege management flaw rooted in how the plugin abuses the WordPress capability system. WordPress evaluates page capability checks against the user's allcaps array, which includes role slugs as first-class entries; by passing a role name obtained from InstaWP_Setting::get_allowed_role() (populated from the instawp_sync_tab_roles option) into add_management_page() (admin/class-instawp-admin.php#L153, includes/class-instawp-setting.php#L91), the plugin effectively grants the settings screen to any user holding that role - even a Subscriber if a lower role is listed - instead of gating it behind manage_options. The second defect is a secret-exposure bug in generate_section_field() (includes/class-instawp-setting.php#L186): the master API key stored in the instawp_api_options option is echoed verbatim as the value attribute of an ordinary text input, with no masking or additional capability check. The tab-suppression logic is incomplete: the settings tab is hidden only when 'administrator' is entirely absent from instawp_sync_tab_roles, so a mixed list containing administrator plus a lower role still serves the full settings page, including the API key, to the lower-privileged user. That key's SHA-256-derived value doubles as a bearer token accepted by the plugin's REST layer validate_api_request() (includes/apis/class-instawp-rest-api.php#L663), and the auto-login handler (includes/class-instawp-hooks.php#L194, includes/functions.php#L1041) uses it to produce a short-lived, single-use administrator login URL - an architecture that treats a single symmetric secret as both configuration material and an authentication credential. The affected component is identified by the vendor/product CPE cpe:2.3:a:instawp:instawp_connect_-_1-click_wp_staging_&_migration with a wildcard version field.

Know when Wordpress Plugin gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 7.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.5 HIGH

Remote REST exploitation (AV:N) by an authenticated Subscriber (PR:L); AC:H because it depends on the site being InstaWP-connected and an admin misconfiguring the Sync Tab role list; full admin takeover yields C:H/I:H/A:H.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

InstaWP Connect, a WordPress staging and migration plugin present in the organization's WordPress estate, permits a low-privilege site account to read the site's master InstaWP API key and exchange it for a full administrator session, giving an attacker complete control of any affected site that is connected to InstaWP. No vendor patch currently exists, so every installation at version 0.1.4.1 or earlier remains exposed until the plugin is removed or the site is disconnected from InstaWP; a successful takeover would expose site content, customer data, and any credentials or integrations reachable through the site.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: deactivate and remove InstaWP Connect (versions up to and including 0.1.4.1) where it is not business-critical; for sites that must keep it, disconnect the site from InstaWP to invalidate the stored master API key and rotate the InstaWP master API key immediately; audit and reduce Subscriber-and-above accounts to least privilege; block or alert on requests to the /wp-json/instawp-connect/v2/auto-login endpoint via WAF or web server rules; monitor for unexpected administrator account creation, authentication cookies, and logins not preceded by a normal login; apply a vendor fixed release above 0.1.4.1 as soon as one is available.

Threat Intelligence Overview

EPSS Score
0.4%
Top 73% exploitable
Prevalence
Low
niche WordPress staging/migration plugin, modest install base
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2024-1698 CRITICAL POC
9.8 Feb 27

SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a

CVE-2023-6875 CRITICAL POC
9.8 Jan 11

The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i

CVE-2024-1512 CRITICAL POC
9.8 Feb 17

The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base

CVE-2024-4295 CRITICAL POC
9.8 Jun 05

The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in

CVE-2024-50498 CRITICAL POC
10.0 Oct 28

Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy