☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-269
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-104725

CVE-2026-104725 Privilege Escalation in Groundhogg
📅 PUBLISHED: 2026-10-10 00:00 UTC 🔄 UPDATED: 2026-10-11 05:00 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.33%
👁️
0.33% probability
8.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1068
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: <= 4.9
CVSS VECTOR BREAKDOWN 8.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
8.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-104725 is a privilege escalation vulnerability in the Groundhogg — CRM, Newsletters, and Marketing Automation WordPress plugin affecting all versions up to and including 4.9. The flaw stems from a missing ownership and capability check on the user parameter within the process_edit() function, allowing any authenticated user with the edit_contacts capability (sales_rep-level and above) to reassign a contact's linked WordPress user ID to an arbitrary account. This enables attackers to escalate to administrator by abusing Groundhogg's {auto_login_link} replacement tag to generate a valid auto-login permissions-key URL for the targeted administrator, resulting in full site compromise.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability resides in Groundhogg's contact-editing workflow, specifically within the process_edit() function. When an authenticated user with the edit_contacts capability submits a contact edit request, the function processes a user parameter that controls which WordPress user account is linked to the contact record. In vulnerable versions (<= 4.9), this parameter lacks both an ownership check (verifying the acting user is permitted to modify the specific contact) and a capability check for edit_users or promote_users.

Consequently, any user holding edit_contacts — a capability granted by default to the sales_rep role — can reassign a contact's linked WordPress user ID to the ID of any account, including an administrator. Because Groundhogg ties its note-generation and communication features to contact-linked users, the reassignment creates a trust relationship between the attacker-controlled contact and the administrative account.

The escalation is completed through the {auto_login_link} replacement tag. Groundhogg supports dynamic replacement tags inside note content. When a note containing {auto_login_link} is created, the plugin generates a valid auto-login permissions-key URL for the linked contact's associated WordPress user. Since the contact is now linked to an administrator, the generated URL authenticates as that administrator. The URL is stored in the note content and can be read back by the attacker via the view_notes and add_notes capabilities, which sales_rep holds by default. Visiting the URL completes authentication as the administrator.

The root cause maps to CWE-269 (Improper Privilege Management): the plugin fails to enforce authorization boundaries when dereferencing a user-controlled parameter into a privileged identity link.

Exploitation Scenarios

No public PoC is available. The attack chain below is derived strictly from the NVD description and reported vulnerability class.

  1. Reconnaissance/target identification: The attacker identifies a WordPress site running Groundhogg <= 4.9 with an active administrative account. Basic plugin enumeration (e.g., via publicly rendered assets) confirms Groundhogg presence.

  2. Trigger of the flaw class: The attacker authenticates with at least sales_rep-level access — an account holding edit_contacts. Using the contact-editing interface, the attacker invokes the process_edit() flow and supplies the user parameter set to the target administrator's WordPress user ID. The missing ownership and capability checks allow the reassignment without edit_users or promote_users.

  3. Payload/execution: The attacker creates a note on the now administrator-linked contact containing the {auto_login_link} replacement tag. Groundhogg resolves the tag and generates a valid auto-login permissions-key URL bound to the administrator account. The attacker reads the note content back via the view_notes/add_notes capabilities to obtain the URL.

  4. Post-exploitation impact: The attacker visits the auto-login URL and is authenticated as the administrator. From there, full site takeover is possible — installing backdoor plugins, exfiltrating data, creating rogue admin accounts, or modifying site content — consistent with the CVSS impact ratings of High Confidentiality, Integrity, and Availability.

Impact Assessment

Successful exploitation grants full administrative control of the WordPress site. The CVSS 3.1 score of 8.8 reflects network attack vector (AV:N), low attack complexity (AC:L), low privileges required (PR:L), no user interaction (UI:N), and High impact across Confidentiality, Integrity, and Availability (C:H/I:H/A:H) with unchanged scope (S:U). The blast radius includes all data and functionality managed by the WordPress installation and the Groundhogg CRM — contact records, customer PII, marketing lists, and any integrations reachable with administrative credentials. Multi-tenant or membership sites may expose numerous users. Since only a modest capability (edit_contacts) is required, the pool of potential internal attackers (employees, contractors, low-privilege accounts) is broad.

Detection Guidance

Sigma Rule

title: Groundhogg Privilege Escalation via process_edit user Parameter
id: 3f9a1c72-8b4e-4d21-9c05-1a7e6f0b2d44
status: experimental
description: Detects requests manipulating the user parameter in Groundhogg process_edit() contact edits, consistent with CVE-2026-104725 privilege escalation.
logsource:
  product: webserver
  category: webserver
detection:
  selection_endpoint:
    cs-method: 'POST'
    c-uri|contains: 'admin-ajax.php'
  selection_action:
    cs-body|contains: 'action='
  selection_groundhogg:
    cs-body|contains:
      - 'process_edit'
      - 'groundhogg'
  selection_param:
    cs-body|contains: 'user='
  condition: selection_endpoint and selection_action and selection_groundhogg and selection_param
fields:
  - c-ip
  - cs-uri
  - cs-body
falsepositives:
  - Legitimate administrative contact edits
level: medium

YARA Rule

rule CVE_2026_104725_Groundhogg_PrivEsc
{
    meta:
        description = "Detects Groundhogg plugin artifacts referencing process_edit and auto_login_link tied to CVE-2026-104725"
        author = "Threat Intelligence"
        reference = "CVE-2026-104725"
        date = "2026-01-01"
        severity = "high"

    strings:
        $fn = "process_edit" ascii wide nocase
        $tag = "{auto_login_link}" ascii wide nocase
        $cap1 = "edit_contacts" ascii wide nocase
        $cap2 = "promote_users" ascii wide nocase
        $plugin = "groundhogg" ascii wide nocase

    condition:
        uint16(0) == 0x3C3F or $plugin or ($fn and $tag)
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-104725 Groundhogg process_edit user Parameter Privilege Escalation Attempt"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"admin-ajax.php"; http.request_body; content:"process_edit"; nocase; http.request_body; content:"user="; nocase; http.request_body; content:"groundhogg"; nocase; classtype:attempted-admin; sid:2026104725; rev:1;)

Elastic Detection

any where
  event.category == "web" and
  http.request.method == "POST" and
  stringContains(http.request.body, "action=") and
  stringContains(http.request.body, "process_edit") and
  stringContains(http.request.body, "user=")

Splunk SPL Query

index=web sourcetype=access_combined
| search method=POST uri_path="*/admin-ajax.php*" form_data="*process_edit*" form_data="*user=*"
| eval risk="CVE-2026-104725 Groundhogg priv-esc"
| table _time, src_ip, clientip, uri_path, form_data, risk
| sort -_time

Wazuh OSSEC Rule

<group name="web,groundhogg,wordpress,">
  <rule id="100725" level="12">
    <if_sid>31100</if_sid>
    <url>admin-ajax.php</url>
    <match>process_edit</match>
    <match>user=</match>
    <description>CVE-2026-104725: Possible Groundhogg process_edit privilege escalation attempt</description>
    <mitre>
      <id>T1068</id>
    </mitre>
    <group>privilege_escalation,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).

  1. Immediate mitigations:
  • Audit and restrict the edit_contacts, view_notes, and add_notes capabilities — do not grant these to untrusted or low-privilege roles. Remove sales_rep-level access for accounts that do not require it.
  • Disable or deactivate the Groundhogg plugin if it is not business-critical until a fix is available.
  • Enforce administrative review of role assignments and monitor for note creation containing {auto_login_link}.
  • Require MFA for all administrative accounts to blunt the post-escalation auto-login impact.
  1. Patch/upgrade steps:
  • No patch is currently available. Monitor the Groundhogg vendor channel for version 4.9+ fixes. Once released, upgrade immediately and verify the release notes address the process_edit() capability/ownership check on the user parameter.
  1. Long-term hardening:
  • Apply least-privilege role design across all WordPress roles and custom capabilities.
  • Deploy server-side request logging and the detection rules above.
  • Maintain a WordPress WAF with virtual patching for known plugin logic flaws where available.

References

No threat actor campaigns or exploit-in-the-wild evidence are currently associated with this CVE based on the provided data.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Groundhogg"
title:"Groundhogg"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-104725/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.