Skip to main content

InfiniteWP Client CVE-2026-17576

| EUVDEUVD-2026-82742 MEDIUM
SQL Injection (CWE-89)
2026-09-18 Wordfence GHSA-xcfp-7r4f-6367
6.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Obtain WordPress administrator access
  2. Delivery
    Register attacker public key via add_site
  3. Exploit
    Craft get_comments JSON with malicious array keys
  4. Execution
    Send signed request to bypass wp_magic_quotes
  5. Persist
    Injected SQL runs in unprepared IN() clause
  6. Impact
    Extract sensitive database records

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

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

Exploitation Conditions

Requires an authenticated WordPress user with administrator-level access (or higher) on the site running InfiniteWP Client <=1.13.9. The attacker must register their own public key through the plugin's add_site action using the plugin's WP-admin-generated activation_key, then issue cryptographically signed get_comments requests whose JSON request body (read via php://input) carries crafted array-key names. Exploitation is limited by this high privilege bar - an administrator already possessing broad site and database access - which sharply reduces practical impact despite the network attack vector.

Impact

This is a genuine SQL injection (CWE-89) confirmed by Wordfence with a source-code-level root cause in IWP_MMB_Comment::get_comments(), but the real-world risk is materially lower than the 6.5 CVSS or a bare 'SQLi' label would suggest. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) scores privileges as PR:L, yet the description explicitly states exploitation requires 'administrator-level access and above' - an administrator registers their own public key via add_site using the WP-admin activation key, then issues signed get_comments requests. That is a PR:H-class prerequisite, so the PR:L scoring is arguably generous (see confidence_notes); a WordPress administrator already has legitimate read access to the database via other means, so this injection grants little privilege the attacker does not already possess. No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation status is 'no public exploit identified at time of analysis.' Net: a valid but low-priority defense-in-depth issue, not an urgent unauthenticated threat despite AV:N.

Exploit ScenarioDerived

An attacker who has already obtained WordPress administrator access registers their own public key through the plugin's add_site action using the WP-admin-generated activation key, then sends a signed get_comments request whose JSON body contains crafted array-key names with embedded single quotes. Because the body is read from php://input and JSON-decoded, wp_magic_quotes() never sanitizes it, so the injected SQL is imploded into an IN(...) clause and run via $wpdb->get_results() without prepare(), letting the attacker extract sensitive database contents. No public exploit code was identified at the time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 18, 2026

SQL injection in the InfiniteWP Client plugin for WordPress (versions up to and including 1.13.9) allows an attacker who already holds WordPress administrator-level access to read arbitrary data from the site's database through the plugin's get_comments action. Exploitation requires the attacker to first register their own public key via the plugin's add_site action using the plugin's WP-admin-generated activation_key, then send cryptographically signed get_comments requests whose JSON body (read from php://input, so wp_magic_quotes() never sanitizes it) carries crafted array-key names that are concatenated into an unparameterised IN(...) SQL clause. Wordfence reported the issue and an upstream fix is referenced in the plugin repository, and no public exploit code has been identified at time of analysis; the practical impact is bounded by the high privilege prerequisite, since an administrator already has broad control over the site, making the realistic risk lower than the 6.5 CVSS score or a bare "SQLi" label implies.

RemediationAI

Upstream fix available (plugin repository Trac changeset 3655042); released patched version not independently confirmed, so verify the current version on the WordPress plugin directory and update InfiniteWP Client past 1.13.9 as soon as a fixed release is published, using the advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/05c50442-570b-45cf-816a-c7a5b712ba21?source=cve for tracking. If a confirmed patched release cannot be deployed immediately, the most direct mitigation is to remove or disable the vulnerable comments addon so the get_comments code path is never registered, with the trade-off that remote comment listing and moderation through InfiniteWP stops working; deactivating the plugin entirely is the strongest option but severs remote management for every site in the console. Because exploitation requires an existing administrator-level account plus a self-registered public key via add_site, tighten the privilege boundary: audit and reduce the number of administrator accounts to the minimum, enforce least privilege and strong authentication (MFA) for remaining admins, and monitor for unexpected add_site calls or signed get_comments requests in plugin and web server logs. Rotate any credentials or secrets stored in the WordPress database (user password hashes, API keys in wp_options) if suspicious activity is observed, since the injection is read-only but permits extraction of exactly that kind of data.

Affected VersionsENISA

InfiniteWP Client 0 ≤1.13.9

Affected Packages

euvd infinitewp_client 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

The vulnerability is a classic CWE-89 SQL injection in the InfiniteWP Client plugin's comments addon, implemented in PHP against the WordPress database abstraction layer. In IWP_MMB_Comment::get_comments(), the plugin calls extract() on the decoded $args array, which silently skips keys that are not valid PHP variable names, but a subsequent foreach($args as $checkbox => $checkbox_val) loop iterates over every key regardless. Each key has the literal prefix 'iwp_get_comments_' stripped with str_replace(), the remainder is wrapped in single quotes, and the resulting values are imploded into an IN(...) clause that is passed directly to $wpdb->get_results() without prepare(). Because the request payload is read from php://input and JSON-decoded rather than flowing through WordPress's normal request handling, wp_magic_quotes() never applies, so quote characters embedded in the JSON key names survive unaltered and can break out of the intended string context. The affected CPE, cpe:2.3:a:revmakx:infinitewp_client:*:*:*:*:*:*:*:*, covers the plugin generally; the vulnerable code paths are in addons/comments/comments.class.php (lines 57, 71, 80) and init.php (lines 131, 1651) as of tag 1.13.6. The independent assessment rates the vector as AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N, i.e. a network-reachable, no-user-interaction, read-only confidentiality breach that requires high privileges - higher than the originally published PR:L - and the SQLi is used to append additional queries to an existing query in order to extract sensitive information from the database.

Know when Infinitewp Client 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 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 4.9 MEDIUM

Description requires administrator access plus self-registered signed key, so PR:H not PR:L; SQL read yields C:H with no integrity/availability impact.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

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

DescriptionCVE.org

The InfiniteWP Client plugin for WordPress is vulnerable to SQL Injection via the get_comments action in versions up to, and including, 1.13.9. This is due to insufficient escaping on the array-key names supplied in the JSON request body before use in a SQL statement: IWP_MMB_Comment::get_comments() calls extract() on $args (which silently skips keys that are not valid PHP variable names) but a second foreach($args as $checkbox => $checkbox_val) processes every key, strips the 'iwp_get_comments_' prefix with str_replace(), wraps the remainder in single quotes, and imploded it into an IN(...) clause that is executed via $wpdb->get_results() with no prepare(). Because the request body is read from php://input and JSON-decoded, wp_magic_quotes() never touches the data, so quote characters in keys pass through unaltered. This makes it possible for authenticated attackers, with administrator-level access and above (an administrator can register their own public key via add_site using the plugin's WP-admin-generated activation_key and then issue signed get_comments requests), to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
Popular WordPress remote-management client plugin, widely but not universally installed
Data Quality
3 sources
Confidence: Low

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

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