CVE-2026-14859
Executive Summary
CVE-2026-14859 is an improper access-control vulnerability in the WP Crowdfunding WordPress plugin developed by Themeum. Affecting all plugin versions prior to 2.2.1, the plugin fails to enforce the campaign-submission capability in one of its AJAX actions, allowing any authenticated user — including low-privilege Subscriber accounts — to create crowdfunding campaign posts without authorization. With a CVSS 3.1 base score of 4.3 (Medium), the vulnerability has a low integrity impact and no direct confidentiality or availability impact, but it exposes affected fundraising platforms to content spoofing, spam, and fraudulent campaigns.
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.
No signup required
Technical Analysis
The vulnerability belongs to the CWE-284 (Improper Access Control) class and manifests in the server-side AJAX handling routine of the WP Crowdfunding plugin. In WordPress, plugin functionality is frequently exposed through AJAX actions that are routed to PHP callback handlers. These handlers commonly distinguish between authenticated (wp_ajax_*) and unauthenticated (wp_ajax_nopriv_*) requests, but the presence of an authenticated session is not equivalent to authorization. For privileged operations such as creating a crowdfunding campaign, the developer must explicitly verify that the current user holds the required WordPress capability (for example, a capability tied to the campaign-submission workflow) using a capability-check function.
According to the NVD Description, one of the plugin's AJAX actions omits exactly such a check on the campaign-submission capability. The result is a broken authorization gate: any user who can authenticate to the WordPress site — even a Subscriber, the most restricted standard role, which normally has no post-publishing or campaign-creation rights — can invoke the AJAX action and have the server create campaign posts. The NVD description does not disclose the exact AJAX action name, the PHP callback function, or whether nonce/CSRF protections are present. Consequently, code-level specifics cannot be stated with certainty; analysis must remain at the vulnerability-class level.
The attack surface is the public-facing AJAX endpoint of the WordPress installation, which processes HTTP requests from authenticated users. Because the flaw depends only on being an authenticated user (Privileges Required: Low) and requires no user interaction, the exploitation barrier is minimal. The technical root cause is a trust boundary error: the server trusts the user's authentication state as sufficient proof of entitlement to create campaigns, rather than independently validating the user's capabilities against the campaign-submission requirement. The condition is confirmed to exist in plugin versions prior to 2.2.1.
Exploitation Scenarios
No public proof-of-concept is currently available, and no exploit code has been observed in the wild. The attack chain below is therefore inferred from the vulnerability class (CWE-284) and the NVD description. Specific action names, function names, and parameter names are not disclosed by the description and are intentionally not fabricated.
Reconnaissance / Target Identification: An attacker identifies a WordPress site using the WP Crowdfunding plugin. Version fingerprinting can be performed by examining the plugin's readme file, asset paths, page source comments, or responses that expose the plugin version. Any installation running a version prior to 2.2.1 is a candidate target.
Attacker Positioning: The attacker must obtain an authenticated account with at least the Subscriber role. Sites that allow open user registration provide an immediate entry path. In closed-registration environments, the attacker would need to compromise a low-privilege account through credential stuffing, phishing, or other means. No additional privileges are required beyond valid authentication.
Triggering the Flaw: The attacker issues a crafted HTTP POST request to the vulnerable AJAX action, supplying the parameters needed to create a crowdfunding campaign post (e.g., campaign title, description, funding target). Because the server-side handler lacks the campaign-submission capability check, it processes the request using the attacker's authenticated session context. The authorization lookup that should reject a Subscriber is absent, so the request is accepted.
Post-Exploitation Impact: The attacker successfully creates crowdfunding campaign posts on the target site. Since the campaign post is published without the intended privilege gate, the attacker can inject arbitrary content into the platform. At the integrity level this enables the publication of fraudulent fundraising campaigns, phishing lures, SEO spam, or content designed to damage the site's reputation. The attacker could also create multiple campaigns in an automated fashion to amplify the abuse. There is no confidentiality impact and no availability impact; the attacker cannot read data or deny service via this specific flaw.
Impact Assessment
The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N yields a base score of 4.3 (Medium). The key characteristics are:
- Attack Vector (Network): The flaw is exploitable remotely over the web interface.
- Attack Complexity (Low): No special conditions, race conditions, or complex request sequences are required.
- Privileges Required (Low): Only a Subscriber-level authenticated account is needed.
- User Interaction (None): No victim action is required.
- Integrity Impact (Low): The attacker can create unauthorized content but cannot modify existing data or escalate beyond campaign creation as described.
- Confidentiality / Availability (None): No data disclosure or denial-of-service results from this CVE.
The affected systems are WordPress deployments running the Themeum WP Crowdfunding plugin before version 2.2.1. This plugin is commonly used by charities, creative projects, and small businesses to operate crowdfunding operations. For those entities, the integrity of visible campaigns is the core of the business; unauthorized campaign creation can confuse donors, erode trust, and create legal or platform-policy complications. The blast radius is limited to content-level manipulation but can feed into larger abuse chains such as phishing pages hosted on trusted domains, SEO poisoning, or social engineering campaigns that direct victims to fraudulent fundraising pages.
Detection Guidance
Detection of this vulnerability is primarily possible through web server access logs and WordPress audit logs, since the exploit does not necessarily leave endpoint or network indicators distinct from legitimate plugin usage. The rules below target the characteristic combination of authenticated AJAX requests to the WordPress AJAX endpoint with campaign-creation intent from low-privilege contexts.
Sigma Rule
title: WP Crowdfunding AJAX Campaign Creation Attempt - CVE-2026-14859
id: c2f88a1e-6b41-4b93-9d2d-5b1a7f06d4a1
status: experimental
description: Detects HTTP POST requests to the WordPress AJAX endpoint containing crowdfunding/campaign parameters, indicative of exploitation attempts for CVE-2026-14859.
logsource:
category: webserver
product: apache
service: access
detection:
selection_method:
http.method: POST
selection_uri:
c-uri|contains:
- 'admin-ajax.php'
selection_payload:
cs-uri-query|contains:
- 'action=crowdfunding'
- 'action=campaign'
sc-status: 200
condition: selection_method and selection_uri and selection_payload
fields:
- c-ip
- cs-uri-query
- sc-status
falsepositives:
- Legitimate campaign creation by administrators or editors
- Other plugins using similar AJAX action names
level: medium
YARA Rule
/*
YARA rule to identify WP Crowdfunding plugin source files
that may be affected by CVE-2026-14859.
Detection is based on the presence of the plugin identifier and
AJAX registration patterns without a corresponding capability check.
This rule is intended for forensic scanning of web roots and backups.
*/
rule WP_Crowdfunding_CVE_2026_14859
{
meta:
author = "Valters IT Threat Intelligence"
description = "Detects WP Crowdfunding plugin PHP files potentially vulnerable to CVE-2026-14859 (missing capability check in AJAX action)"
cve = "2026-14859"
cwe = "CWE-284"
date = "2026-06-01"
strings:
$plugin_id = "WP Crowdfunding" nocase
$ajax_hook = "wp_ajax_" ascii nocase
$campaign_str = "campaign" ascii nocase
$cap_check = "current_user_can" ascii nocase
condition:
filesize < 500KB and
$plugin_id and
$ajax_hook and
$campaign_str and
not $cap_check
}
Suricata IDS Rule
alert http any any -> $HOME_NET any (msg:"CVE-2026-14859 - WP Crowdfunding Unauthorized Campaign Creation via AJAX"; flow:to_server,established; http.method; content:"POST"; http.uri; content:"admin-ajax.php"; http.request_body; content:"crowdfunding"; http.request_body; content:"campaign"; classtype:attempted-user; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-14859; sid:202614859; rev:1;)
Elastic Detection
// EQL rule for Elastic SIEM - detection of AJAX requests that
// match the WP Crowdfunding campaign-creation pattern.
network where http.request.method == "POST"
and url.path == "admin-ajax.php"
and (user.name == "*subscriber*"
or http.request.body.content like "*crowdfunding*"
or http.request.body.content like "*campaign*")
and http.response.status_code == 200
Splunk SPL Query
index=web sourcetype=access_combined
| where method="POST" AND uri_path="admin-ajax.php"
| eval body_indicators=if(match(form_data,"(?i)crowdfunding") OR match(form_data,"(?i)campaign"),1,0)
| where body_indicators=1
| eval role_indicator=if(match(user_role,"(?i)subscriber"),"low_priv","other")
| stats count by clientip, user_role, role_indicator, uri, status
| where role_indicator="low_priv" OR count > 10
| sort - count
Wazuh OSSEC Rule
<group name="wordpress,wp-crowdfunding,">
<rule id="100859" level="8">
<if_sid>31100</if_sid>
<match>admin-ajax.php</match>
<regex>POST</regex>
<regex offset="1">crowdfunding|campaign</regex>
<description>CVE-2026-14859: Possible unauthorized WP Crowdfunding campaign creation via AJAX endpoint</description>
<groups>access_control,wordpress</groups>
<mitre>
<id>T1068</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence for this CVE is rated 0/4 — UNPATCHED — no tracked source has published patch evidence. The NVD description implies that version 2.2.1 resolves the flaw, but this has not been independently corroborated by vendor advisories or patch metadata. Until a verified fix is available, treat all installations below 2.2.1 as exposed.
Immediate Mitigations:
- Where feasible, disable or restrict the affected AJAX action for non-administrative roles. This can be done with a custom WordPress mu-plugin that intercepts the AJAX callback and enforces
current_user_can()capability checks before the original handler executes. - Disable open user registration on WooCommerce/WordPress installations that do not strictly require it, reducing the subscriber pool. If registration is required, implement additional validation and manual approval for new accounts.
- Deploy web application firewall (WAF) rules to block AJAX requests containing campaign-creation parameters from sessions identified as low-privilege roles.
- Continuously monitor web access and WordPress audit logs for anomalous campaign creation events originating from non-editor, non-admin accounts.
Patch / Upgrade Steps:
- Track the WP Crowdfunding plugin page and Themeum's release channel for the appearance of version 2.2.1 or later. When the vendor release is published and verified, upgrade immediately.
- Since patch confidence is 0/4, verify the integrity and provenance of any update (checksum, signed release notes) before deployment to avoid supply-chain risk.
- Do not rely solely on automatic WordPress background updates; confirm in the plugin listing that the version equals or exceeds 2.2.1.
Long-Term Hardening:
- Apply the principle of least privilege across all WordPress roles; audit and reduce the number of Subscriber accounts with unnecessary access.
- Adopt a formal plugin security review process — track CVEs for all installed plugins via an SBOM (software bill of materials) and subscribe to WordPress security advisories.
- Enforce strong authentication policies (MFA for all accounts) to reduce the likelihood of credential compromise enabling low-privilege exploitation.
- Establish an incident response playbook for content-integrity violations, including rapid takedown of unauthorized campaign posts and notification of potentially impacted donors/funders.
References
- NVD Entry for CVE-2026-14859: https://nvd.nist.gov/vuln/detail/CVE-2026-14859
- CWE-284 Improper Access Control: https://cwe.mitre.org/data/definitions/284.html
- MITRE ATT&CK Technique T1068 — Exploitation for Privilege Escalation: https://attack.mitre.org/techniques/T1068/
- WordPress Plugin Repository — WP Crowdfunding: https://wordpress.org/plugins/wp-crowdfunding/
- Vendor Product Page — Themeum WP Crowdfunding: https://www.themeum.com/product/wp-crowdfunding/
Threat Actor Activity: No known threat-actor campaigns or exploit-in-the-wild evidence has been reported as of the date of this report. The CVE is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, and EPSS score is low (0.00185, 8.4th percentile), indicating a low current likelihood of active exploitation. This may change once a verified patch is released and attackers reverse-engineer the fix; organizations running affected versions should prioritize monitoring and mitigation regardless of current exploit prevalence.
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.