CVE-2026-104725
Description
The Groundhogg — CRM, Newsletters, and Marketing Automation plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 4.9 This is due to a missing ownership and capability check on the `user` parameter within the `process_edit()` function, which allows any authenticated user with the `edit_contacts` capability to reassign a contact record's linked WordPress user ID to any arbitrary account without requiring the `edit_users` or `promote_users` capabilities. This makes it possible for authenticated attackers, with sales_rep-level access and above, to escalate their privileges to administrator by linking a contact to an administrator's WordPress user ID, then creating a note containing the `{auto_login_link}` replacement tag to trigger generation of a valid auto-login permissions-key URL for the administrator-linked contact, and finally visiting that URL to authenticate as the targeted administrator. The auto-login URL is stored in the note content and is readable back by the attacker via the `view_notes` and `add_notes` capabilities that the sales_rep role holds by default.
References
- https://github.com/groundhoggwp/groundhogg/commit/804abf42a
- https://plugins.trac.wordpress.org/browser/groundhogg/tags/4.9/admin/contacts/contacts-page.php#L507
- https://plugins.trac.wordpress.org/browser/groundhogg/tags/4.9/admin/contacts/contacts-page.php#L565
- https://plugins.trac.wordpress.org/browser/groundhogg/tags/4.9/includes/classes/note.php#L58
- https://plugins.trac.wordpress.org/browser/groundhogg/tags/4.9/includes/replacements.php#L1811