Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain Sales Rep WordPress credentials
-
DeliveryAuthenticate and retrieve session token
-
ExploitEnumerate GET /wp-json/gh/v4/contacts/<id> sequentially
-
ExecutionExtract full contact records including PII and meta
-
ImpactMap WordPress user capability sets from linked contact records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires an authenticated WordPress session with the view_contacts capability. The primary at-risk role is Groundhogg's built-in Sales Rep role, which is explicitly designed to restrict visibility to owned contacts - a user holding this role can exploit the flaw to read all contacts site-wide. Any other custom role granted view_contacts without view_others_contacts is equally vulnerable. The flaw does not affect sites where all authenticated users already hold view_others_contacts (i.e., where no access segregation between contacts is enforced). Exploitation is limited to: (1) possession of a valid WordPress user account with view_contacts, (2) network access to the WordPress REST API endpoint, and (3) knowledge of sequential integer contact IDs (trivially enumerable from 1 upward). There is no UI interaction required, no special network position needed beyond normal HTTPS access to the site, and no non-default configuration prerequisite other than having at least one Sales Rep or equivalent role provisioned. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N scores 6.5 (Medium), which reasonably represents the risk: low-privilege network exploitation with high confidentiality impact. The attack complexity is genuinely low - sequential integer contact IDs require no guessing or brute-force beyond simple enumeration, and the Sales Rep role is a designed, documented role that organizations actively provision for legitimate staff. No EPSS score was provided in the source data, and this CVE has not appeared in the CISA KEV catalog, indicating no confirmed active exploitation at time of analysis. The 'Authentication Bypass' tag in the intelligence data is somewhat misleading: this is an authorization bypass (the attacker is authenticated but bypasses object-level access control), not a full authentication bypass - defenders should not conflate the two. The real-world risk is highest in organizations using Groundhogg in a multi-tenant or sales-team configuration where the Sales Rep role has been provisioned to staff who should have siloed visibility. The exposure of linked WordPress user capability sets is a meaningful secondary risk, as it could inform privilege escalation targeting. No POC exploit code was referenced; however, the vulnerability is trivially reproducible from the description alone. |
| Exploit ScenarioDerived | An attacker with a provisioned Sales Rep account (or any account granted view_contacts) authenticates to the WordPress site and issues sequential GET requests to /wp-json/gh/v4/contacts/1, /wp-json/gh/v4/contacts/2, and so on using standard HTTP tooling. Each successful response returns the full contact record - name, email, phone, custom meta fields, the assigned owner's user ID, and for contacts linked to WordPress accounts, the full wp_capabilities array revealing their role and permissions. No public exploit code is currently identified, but the attack requires no special tooling beyond a valid session cookie and an HTTP client. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 05, 2026
Insecure Direct Object Reference in the Groundhogg WordPress plugin (all versions through 4.5.2) allows authenticated users holding the view_contacts capability - most notably the built-in Sales Rep role - to enumerate and retrieve any contact record site-wide via the REST API, bypassing the intended ownership restriction that should limit them to their own assigned contacts. The GET /wp-json/gh/v4/contacts/<id> endpoint performs only a role-level capability check and accepts sequential integer IDs, meaning a Sales Rep can trivially iterate through all contact IDs and extract PII, contact metadata, owner identifiers, admin edit URLs, and - for contacts linked to a WordPress account - that user's full capability set. No public exploit code or active exploitation has been identified at time of analysis, but the attack is low-complexity for any attacker who can register or obtain a Sales Rep account.
RemediationAI
Vendor-released patch: 4.5.3. Site administrators running Groundhogg should update immediately to version 4.5.3, which adds the missing object-level ownership check to the REST API endpoint as confirmed by the WordPress SVN changeset at https://plugins.trac.wordpress.org/changeset?new=3569222%40groundhogg%2Ftags%2F4.5.3&old=3562726%40groundhogg%2Ftags%2F4.5.2. If an immediate upgrade is not possible, a targeted workaround is to revoke the Sales Rep role (or any other role holding view_contacts but not view_others_contacts) from all non-admin users and restrict the wp-json/gh/v4/contacts/ REST namespace at the web server or WAF layer to administrative IP ranges only - note this will break legitimate Groundhogg REST-dependent integrations and must be assessed against operational impact. Do not rely on capability auditing alone: the flaw is in the endpoint logic, not role assignment, so any account with view_contacts is affected regardless of how the role was granted.
Affected VersionsENISA
Affected Packages
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
Groundhogg implements a tiered WordPress capability model for contact access: view_contacts (role-level read permission) and view_others_contacts (allows reading contacts owned by other users). The REST API endpoint GET /wp-json/gh/v4/contacts/<id>, defined in api/v4/contacts-api.php, performs its permission callback check against only the view_contacts capability. The read_single() method returns the full serialized contact object referenced by its sequential integer primary key without invoking the object-level view_contact ownership verification that the codebase applies in other contexts (e.g., base-object-api.php line 124). CWE-639 (Authorization Bypass Through User-Controlled Key) describes this class precisely: a user supplies an externally visible, predictable object key (sequential integer ID) and the access control layer fails to verify that the authenticated subject is authorized to act on that specific object instance. The affected CPE is cpe:2.3:a:trainingbusinesspros:groundhogg_-_crm,_newsletters,_and_marketing_automation:*:*:*:*:*:*:*:* covering all versions through 4.5.2. The fix, confirmed in tag 4.5.3 at contacts-api.php line 437, adds the missing object-level ownership check to the REST endpoint.
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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
REST API accessible over network (AV:N), no special conditions beyond authentication (AC:L), requires low-privilege view_contacts account (PR:L), high confidentiality from full PII record exposure; no integrity or availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Groundhogg - CRM, Newsletters, and Marketing Automation plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.5.2 via the GET /wp-json/gh/v4/contacts/<id> REST endpoint. The endpoint's permission callback checks only the role-level view_contacts capability and read_single() returns the full contact record by sequential integer ID without the object-level view_contact ownership check applied elsewhere in the codebase. This makes it possible for authenticated attackers holding view_contacts but not view_others_contacts - notably Groundhogg's built-in Sales Rep role, designed to see only its own contacts - to read any contact record on the site, including PII, contact meta, owner IDs, the admin edit URL, and (for contacts linked to a WordPress user) that user's full capability set.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-53177
GHSA-52xv-wqqv-x9g6
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB