☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
WordPress logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/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-78570

CVE-2026-78570 Privilege Escalation in WordPress
📅 PUBLISHED: 2026-08-25 00:00 UTC 🔄 UPDATED: 2026-10-13 23:16 UTC
⊘ CVE REJECTED / WITHDRAWN
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: USA License: Open Source
VULNERABLE: <= 2.0.5
CVSS VECTOR BREAKDOWN 9.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
9.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-78570 is a privilege escalation vulnerability in the Total Donations plugin for WordPress, affecting all versions up to and including 2.0.5. The vulnerability allows unauthenticated attackers to elevate their privileges to that of an administrator, which in a WordPress context grants full control over the affected site including the ability to upload malicious plugins, modify content, and access the underlying server. With a CVSS score of 9.8 and no patch currently available, this vulnerability represents a critical, actively exploitable risk to any WordPress installation running the affected plugin version.

⚡ 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 NVD description indicates that the Total Donations plugin for WordPress is vulnerable to privilege escalation in all versions up to, and including, 2.0.5. The core flaw is classified under CWE-269 (Improper Privilege Management), which means the application fails to properly restrict privileges or enforce access control checks when performing certain actions.

The vulnerability is exploitable by unauthenticated attackers, meaning no valid credentials or prior access level is required to trigger the flaw. The attack vector is network-based (AV:N) with low attack complexity (AC:L), indicating that no special conditions are required for successful exploitation — the attacker does not need any user interaction (UI:N) and no privileges are required (PR:N).

Regarding the specific vulnerable mechanism, insufficient technical detail is available from the NVD description. The vulnerability class suggests that the plugin likely exposes an administrative function or role-assignment endpoint that either:

  1. Fails to verify whether the requesting user is authenticated, or
  2. Fails to verify whether an authenticated (or unauthenticated) request is authorized to perform a privilege-escalating action, or
  3. Processes user-supplied parameters (such as user ID or role fields) without proper sanitization or authorization checks when registering/modifying user accounts.

In the WordPress ecosystem, privilege escalation vulnerabilities of this nature commonly arise from:

  • Missing current_user_can() or capability checks in AJAX handlers or registration processing code
  • Direct calls to wp_insert_user() or wp_update_user() with attacker-controlled role parameters
  • Insecure use of wp_ajax_nopriv_* hooks that expose administrative actions to unauthenticated users

However, since the specific functions, endpoints, and parameters are not disclosed in the NVD description, the analysis must remain at the vulnerability-class level. The plugin handles donation processing, which typically involves shortcode rendering, payment gateway callbacks, and user-facing forms — any of these attack surfaces could expose the vulnerable code path.

The CVSS vector confirms the severity: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — network-accessible, low complexity, no privileges or user interaction required, with full confidentiality, integrity, and availability impact.


Exploitation Scenarios

No public PoC or exploit code is currently available for this vulnerability; the attack chain below is inferred from the vulnerability class.

Step 1: Reconnaissance and Target Identification

An attacker would first identify WordPress sites running the Total Donations plugin version ≤ 2.0.5. This can be achieved through:

  • Scanning for WordPress sites using Shodan or Censys with dorks targeting the plugin name or its typical asset paths
  • Using WordPress-specific scanners (e.g., WPScan) that enumerate installed plugins and versions
  • Reviewing publicly available site source code for plugin references or version strings

Step 2: Triggering the Privilege Escalation Flaw

The attacker sends a crafted HTTP request to a vulnerable endpoint exposed by the plugin. Since the attack requires no authentication, the request targets a plugin endpoint that performs privilege-escalating actions (e.g., user role assignment or account creation). Based on the CWE-269 classification, the likely trigger mechanism is:

  • An unauthenticated HTTP request that invokes a plugin function responsible for creating or modifying user accounts
  • The request includes parameters that specify a target user ID (or create a new user) and assign the "administrator" role
  • The plugin fails to verify that the requester is authenticated or authorized to perform such an action

Step 3: Payload and Execution Method

At the vulnerability-class level, the payload is a set of HTTP parameters — typically:

  • A user identifier (existing user ID or a new username/password/email combination)
  • A role parameter set to "administrator"
  • A nonce or security token valid for the plugin's AJAX/registration handler (may or may not be required depending on implementation)

The attacker submits this request via standard HTTP (GET or POST) to the vulnerable plugin endpoint. Since the plugin fails to enforce privilege checks, the server processes the request and elevates the attacker-controlled account to administrator privileges.

Step 4: Post-Exploitation Impact

Once administrator access is obtained, the attacker has complete control over the WordPress installation:

  • Upload and activate malicious plugins or themes containing backdoors or web shells
  • Modify site content, inject malicious JavaScript (for credential harvesting or drive-by downloads)
  • Access the WordPress dashboard and potentially the underlying server file system through plugin/theme editors
  • Create additional administrator accounts for persistent access
  • Use the compromised site as a launching point for further attacks (e.g., phishing, malware distribution, DDoS participation)
  • Extract sensitive data: user databases, donation records, payment information (if stored by the plugin)

Note: Specific technical details about the vulnerable code path, endpoint URLs, or parameter names are not available. The attack chain is described at the vulnerability-class level.


Impact Assessment

Metric Value
CVSS Score 9.8 (Critical)
Attack Vector Network (AV:N) — remotely exploitable
Attack Complexity Low (AC:L) — no special conditions
Privileges Required None (PR:N) — unauthenticated
User Interaction None (UI:N)
Confidentiality Impact High (C:H) — full data exposure
Integrity Impact High (I:H) — full control over site data
Availability Impact High (A:H) — can disrupt or destroy site

Business Impact:

  • Complete site compromise: Administrator-level access grants full control over the WordPress environment, including all content, user data, and configuration.
  • Data breach severity: Donation plugins typically store donor information (names, email addresses, donation amounts) and may integrate with payment processors. While full payment card data is unlikely to be stored locally (PCI DSS requires offsite storage), donor PII is at risk.
  • Reputational damage: Compromised donation pages undermine donor trust, impacting current and future fundraising efforts.
  • Supply chain risk: The compromised site could be used to serve malicious content to visitors or distribute malware, extending the blast radius beyond the immediate site.
  • Lateral movement potential: If the WordPress installation shares infrastructure (shared hosting, database servers) with other applications, the attacker may pivot to adjacent systems.

Affected Systems: All WordPress installations running the Total Donations plugin version 2.0.5 or earlier are vulnerable. The plugin's exact market penetration is unknown, but donation plugins are widely used by non-profits, churches, and small organizations — entities often with limited security resources.

Scope: The vulnerability has a scope of "Unchanged" (S:U), meaning the compromise is confined to the vulnerable application's security boundary. However, post-exploitation (administrator access) typically grants broader access within the hosting environment.


Detection Guidance

Sigma Rule

title: Total Donations WordPress Plugin - Privilege Escalation Attempt
id: 4f8a2c9e-6b3d-4e7a-9f1c-8a2b5d4e6f70
status: experimental
description: Detects HTTP requests targeting Total Donations plugin endpoints with privilege escalation characteristics (admin role assignment by unauthenticated users)
author: Valtersit Threat Intelligence
date: 2026/09/17
logsource:
  category: webserver
  product: apache
  definition: 'Web server access logs or WAF logs for WordPress sites'
detection:
  selection_plugin_path:
    cs-uri-extension:
      - '.php'
    cs-uri-query|contains:
      - 'total-donations'
      - 'total_donations'
  selection_admin_role:
    cs-uri-query|contains:
      - 'role=administrator'
      - 'role=admin'
      - 'user_role=administrator'
      - 'capabilities=administrator'
  selection_registration:
    cs-uri-query|contains:
      - 'action=register'
      - 'action=createuser'
      - 'action=updateuser'
      - 'process_donation'
      - 'process_registration'
  condition: selection_plugin_path and (selection_admin_role or selection_registration)
  timeframe: 5m
fields:
  - c-ip
  - cs-uri-stem
  - cs-uri-query
  - cs-user-agent
  - sc-status
falsepositives:
  - Legitimate administrator actions on the plugin (if the plugin adds administrator role parameters during normal donation processing)
level: critical
tags:
  - attack.t1190
  - attack.privilege_escalation
  - cwe.269
  - cve.2026-78570

YARA Rule

rule CVE_2026_78570_Total_Donations_Privilege_Escalation
{
    meta:
        author = "Valtersit Threat Intelligence"
        description = "Detects exploit payloads targeting Total Donations privilege escalation in WordPress"
        cve = "CVE-2026-78570"
        cwe = "CWE-269"
        date = "2026-09-17"
        severity = "critical"
    strings:
        $a1 = "total-donations" ascii wide nocase
        $a2 = "total_donations" ascii wide nocase
        $b1 = "role=administrator" ascii wide nocase
        $b2 = "role=admin" ascii wide nocase
        $b3 = "user_role" ascii wide nocase
        $b4 = "wp_capabilities" ascii wide nocase
        $b5 = "capabilities[administrator]" ascii wide nocase
        $c1 = "action=register" ascii wide nocase
        $c2 = "action=createuser" ascii wide nocase
        $c3 = "action=updateuser" ascii wide nocase
        $c4 = "newuser" ascii wide nocase
        $c5 = "user_login" ascii wide nocase
        $c6 = "user_pass" ascii wide nocase
    condition:
        uint16(0) == 0x0D0A or uint32(0) == 0x0D0A0D0A or filesize < 100KB and
        (1 of ($a*)) and
        (1 of ($b*) or 1 of ($c*))
}

Suricata IDS Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2026-78570 - Total Donations WordPress Plugin Privilege Escalation Attempt";
    flow:to_server,established;
    content:"total-donations"; http_uri; nocase;
    pcre:"/role\s*=\s*(administrator|admin)/i";
    sid:7857001;
    rev:1;
    metadata:attack_target Web_Server, cve 2026-78570, cwe CWE-269, deployment Perimeter, signature_severity Critical, tag WordPress, tag privilege_escalation;
    reference:url,nvd.nist.gov/vuln/detail/CVE-2026-78570;
    classtype:attempted-admin;
)

Elastic Detection

sequence by source.ip with maxspan=5m
  [ network where event.type == "connection" and destination.port == 80 or destination.port == 443 ]
  [ http where process.name == "httpd" or process.name == "nginx" and
    http.request.method == "POST" or http.request.method == "GET" and
    http.request.uri contains "total-donations" and
    (
      http.request.uri contains "role=administrator" or
      http.request.uri contains "role=admin" or
      http.request.body.content contains "role=administrator" or
      http.request.body.content contains "user_role" and
      http.request.body.content contains "administrator" or
      http.request.uri contains "action=register" or
      http.request.uri contains "action=createuser" or
      http.request.uri contains "action=updateuser"
    ) and
    http.response.status_code == 200 ]

Splunk SPL Query

index=web sourcetype=access_combined earliest=-24h
| where like(uri_path, "%total-donations%") OR like(uri, "%total_donations%")
| search (
    (uri_query="*role=administrator*" OR uri_query="*role=admin*" OR 
     uri_query="*user_role*administrator*") OR
    (uri_query="*action=register*" OR uri_query="*action=createuser*" OR 
     uri_query="*action=updateuser*" OR uri_query="*process_registration*")
  )
| eval is_suspicious = if((like(uri, "%total-donations%") OR like(uri, "%total_donations%")) 
    AND 
    (
      (like(uri_query, "%role=administrator%") OR like(uri_query, "%role=admin%")) OR
      (like(uri_query, "%action=register%") AND (like(uri_query, "%user_login%") AND like(uri_query, "%user_pass%")))
    ), 1, 0)
| where is_suspicious=1
| stats count by src_ip, uri, uri_query, user_agent, sc_status
| sort - count
| table _time, src_ip, uri, uri_query, user_agent, sc_status, count

Wazuh OSSEC Rule

<group name="wordpress,">
  <rule id="803322" level="15">
    <decoded_as>json</decoded_as>
    <field name="url">\.php</field>
    <regex>url.*total-donations|total_donations</regex>
    <regex>url.*role=(administrator|admin)</regex>
    <description>CVE-2026-78570: Total Donations plugin privilege escalation attempt detected (unauthenticated admin role assignment)</description>
    <group>attack.privilege_escalation,</group>
    <mitre>
      <id>T1190</id>
    </mitre>
    <info type="cve">CVE-2026-78570</info>
    <info type="cwe">CWE-269</info>
  </rule>

  <rule id="803323" level="15">
    <decoded_as>json</decoded_as>
    <field name="url">\.php</field>
    <regex>url.*total-donations|total_donations</regex>
    <regex>url.*action=(register|createuser|updateuser)</regex>
    <regex>url.*user_(login|pass|email)</regex>
    <description>CVE-2026-78570: Possible unauthenticated user creation via Total Donations plugin</description>
    <group>attack.privilege_escalation,</group>
    <mitre>
      <id>T1190</id>
    </mitre>
    <info type="cve">CVE-2026-78570</info>
    <info type="cwe">CWE-269</info>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED

No patch is currently available from any tracked source. The vendor has not released a fixed version, and no vendor advisory has been published.

1. Immediate Mitigations (apply today)

Priority Action Rationale
CRITICAL Disable or uninstall the Total Donations plugin Only guaranteed way to eliminate the exposure while unpatched
HIGH If deactivation is not possible (e.g., plugin is critical to donation flows), place the plugin's endpoints behind a Web Application Firewall (WAF) rule that blocks unauthenticated requests containing administrator role parameters or user registration parameters Reduces exploitable surface
HIGH Implement a WAF custom rule to block requests to any Total Donations endpoint where role, capabilities, user_login, or user_pass parameters are present and no authenticated session cookie is detected Blocks privilege escalation attempts
MEDIUM Restrict access to WordPress admin and registration endpoints via IP allowlisting (VPN or office IPs) where operationally feasible Limits attack surface
MEDIUM Monitor web server access logs for the patterns described in Detection Guidance; alert on any match Enables early detection and response
LOW If the site is critical and cannot be taken offline, consider migrating to an alternative donation plugin that provides equivalent functionality Reduces dependency on vulnerable software

2. Patch / Upgrade Steps

  • Check for plugin updates daily: The vendor may release a patched version at any time. Subscribe to WordPress plugin update notifications.
  • When a patched version is released: Upgrade to the latest version immediately. Validate that the patched version resolves CVE-2026-78570 by reviewing the vendor changelog.
  • If no patch is released within a reasonable timeframe (e.g., 30 days): Re-evaluate the business need for this plugin. Consider permanently replacing it with an actively maintained alternative.

3. Long-Term Hardening

  • WordPress security baseline: Enforce least-privilege principles — do not grant administrator role to any user unless explicitly required.
  • Run WordPress hardening tools: Use the WPScan CLI or commercial equivalents as part of CI/CD to automatically detect vulnerable plugins before deployment.
  • Implement routine vulnerability scanning: Schedule weekly scans of all WordPress assets to detect known-vulnerable plugin versions (CVE-2026-78570 should be added to your scanning tool's vulnerability database).
  • Enable WordPress automatic updates for plugins/themes where feasible, with a staging environment to validate updates before production rollout.
  • Restrict wp-admin access by IP address or use two-factor authentication for all administrative users.
  • Maintain a plugin allowlist: Only install plugins that are actively maintained (commits within 12 months) and have a track record of timely security fixes.
  • Monitor CISA KEV and NVD for updates regarding this CVE, as exploitation in the wild may prompt expedited patch development or CISA directives.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-78570 — Official U.S. National Vulnerability Database entry; contains the CVSS vector and NVD description used in this report.
  2. CWE-269: https://cwe.mitre.org/data/definitions/269.html — MITRE CWE reference for Improper Privilege Management, the weakness class for this vulnerability.
  3. WordPress Plugin Repository: https://wordpress.org/plugins/ — Official WordPress plugin repository; monitor for Total Donations plugin updates and changelog.
  4. WordPress Security Announcements: https://wordpress.org/news/category/security/ — Official WordPress security advisories; may publish guidance if the vulnerability impacts the broader WordPress ecosystem.
  5. CISA Known Exploited Vulnerabilities (KEV) Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — Monitor this catalog; CVE-2026-78570 is currently not listed (NO known exploitation in the wild at time of writing).

Report generated by Valtersit Threat Intelligence — 2026-09-17. Version 1.0 — CVE-2026-78570. All technical claims derived from the provided NVD data; no explicit PoC or exploit code exists to validate the specific attack mechanism.

👁️ 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.

http.title:"Total Donations"
http.html:"total-donations"
http.title:"Donations" "wp-content/plugins/total-donations"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-78570/ · 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.