CVE-2026-78467
Executive Summary
CVE-2026-78467 is a missing authorization vulnerability (CWE-862) in the Fluent Support Pro plugin for WordPress, affecting all versions up to and including 2.3.1. An authenticated attacker with Subscriber-level access or above can exploit a function lacking a required capability check to perform unauthorized actions, potentially altering support ticket data or system state. The vulnerability carries a CVSS score of 4.3 (Medium), reflecting the low privilege requirement, network-based attack vector, and a limited integrity impact with no confidentiality or availability impact.
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
Fluent Support Pro is a WordPress customer support ticketing plugin that exposes a range of administrative functions through AJAX handlers and REST endpoints. The NVD description identifies a missing capability check on a specific function, meaning the plugin fails to verify that the authenticated user possesses the required WordPress capability (e.g., manage_options, edit_others_posts) before executing an action.
Vulnerability Mechanism:
In WordPress plugin architecture, functions handling AJAX requests or REST API routes must explicitly check user capabilities using functions like current_user_can(). When this check is absent, the function executes for any authenticated user, regardless of their assigned role. Since Subscriber is the lowest built-in WordPress role (excluding unauthenticated), the attack surface extends to essentially the entire authenticated user base of a WordPress site.
Attack Surface:
The attack surface is the WordPress admin environment accessible to Subscriber-level accounts. The vulnerable function is invoked server-side and likely performs a state-changing operation — such as modifying ticket metadata, changing status assignments, or updating plugin settings. Because the NVD description indicates integrity impact (C:I/L) with no confidentiality impact, the vulnerable function almost certainly performs a write operation rather than a read operation.
Technical Detail:
The NVD description does not specify the function name, the AJAX action hook, the REST route, or the exact operation performed by the vulnerable endpoint. Without the vendor advisory or patch commit details, the precise implementation remains unknown. The vulnerability class is well-understood: an endpoint registered without a capability guard allows an authenticated low-privileged user to invoke administrative functionality.
Patch Status:
Patch confidence is 0/4. No patch evidence has been identified from any tracked source. The vendor has not published a fixed version, and no advisory disclosing the vulnerable function or its replacement has been released. This leaves the underlying architecture opaque — the exact function name, the capability it should have required, and the version that resolves the issue remain unclear.
Exploitation Scenarios
No public PoC or exploit code has been identified for CVE-2026-78467. The attack chain below is inferred from the vulnerability class (missing capability check in a WordPress plugin) and the general architecture of ticketing plugins.
Step 1 — Reconnaissance and Target Identification
The attacker first identifies WordPress sites running Fluent Support Pro version 2.3.1 or earlier. This can be done by:
- Inspecting a site's HTML source for the plugin's CSS/JS asset paths (e.g.,
/wp-content/plugins/fluent-support-pro/). - Querying the WordPress REST API (
/wp-json/) for plugin information if the endpoint is enabled. - Using scanning tools or Shodan queries targeting WordPress installations with the plugin's assets.
Step 2 — Authentication and Privilege Validation
The attacker establishes an authenticated session with a Subscriber-level account. WordPress Subscription accounts are often free or low-trust (e.g., open registration for community forums, user-created accounts on customer portals). The attacker does not need any elevated privileges.
Step 3 — Triggering the Vulnerable Function
The attacker sends a crafted HTTP request to the AJAX handler or REST endpoint associated with the vulnerable function. Because the capability check is missing, the server processes the request. The exact request format (AJAX action name, nonce requirements, parameters) is unknown from the available data — the attacker would need to enumerate the plugin's registered endpoints. This is typically done by:
- Reviewing the plugin's JavaScript files (in
/wp-content/plugins/fluent-support-pro/) for AJAX action names. - Fuzzing known endpoint patterns from similar plugins.
- Analyzing the plugin source if it is available (or partially obfuscated).
At the vulnerability-class level, the request triggers a server-side handler that performs an unauthorized state change. The lack of a nonce or capability check allows the request to succeed.
Step 4 — Post-Exploitation Impact
With the unauthorized action executed, the attacker can likely:
- Modify support ticket data (e.g., reassign tickets, change statuses, delete responses).
- Alter plugin configuration or settings.
- Potentially escalate the integrity impact if the function allows writing to certain database tables.
The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) classifies this as a Medium severity issue focused on integrity compromise, with no data confidentiality or availability impact.
Impact Assessment
Business Impact:
The primary risk posed by CVE-2026-78467 is data integrity compromise of support operations. An attacker with Subscriber access can perform unauthorized actions in Fluent Support Pro, which may include tampering with support tickets, altering responses, or manipulating ticket metadata. In a customer support context, this can lead to:
- Support ticket manipulation: An attacker could modify or delete their own ticket history or affect other users' tickets, damaging audit trails and complicating issue resolution.
- Operational disruption: Tampering with ticket assignments or statuses can misdirect support staff and degrade customer service SLAs.
- Trust erosion: Compromised support records could be used in social engineering campaigns against support agents or to undermine customer confidence.
Affected Systems:
All WordPress installations running Fluent Support Pro version 2.3.1 or earlier are affected. This includes:
- Customer-facing support portals
- Internal help desk installations
- Any site where Subscriber accounts exist (even dormant ones)
Blast Radius:
The CVSS subscores break down as follows:
- Attack Vector: Network (AV:N) — Exploitable remotely.
- Attack Complexity: Low (AC:L) — No special conditions or race conditions required.
- Privileges Required: Low (PR:L) — A Subscriber account suffices.
- User Interaction: None (UI:N) — No victim action needed.
- Scope: Unchanged (S:U) — Impact confined to the vulnerable component.
- Integrity: Low (I:L) — Limited data modification capability.
- Confidentiality/Availability: None (C:N/A:N) — No data exposure or denial of service.
The absence of patch availability amplifies the risk window — any affected site remains exposed until a fixed version is released.
Detection Guidance
Sigma Rule
title: Fluent Support Pro - Unauthorized Subscriber Action (CVE-2026-78467)
id: 3c45e9d4-c4e5-4d3e-ba5b-c6a8e4f7a2d1
status: experimental
description: Detects HTTP requests from Subscriber-level WordPress users invoking Fluent Support Pro handlers without proper capability validation.
logsource:
category: webserver
product: apache
detection:
selection:
http.url|contains:
- "wp-admin/admin-ajax.php"
- "wp-json/fluent-support"
http.method: POST
filter_known_users:
http.user_role: "administrator"
condition: selection and not filter_known_users
level: medium
tags:
- attack.t1210
- cve.2026-78467
- cwe.862
YARA Rule
rule CVE_2026_78467_Fluent_Support_Pro_Exploit_C2
{
meta:
author = "ValterIT SOC"
description = "Detects payloads/scripts referencing Fluent Support Pro unauthorized access exploit vectors"
date = "2026-01-01"
cve = "CVE-2026-78467"
severity = "medium"
strings:
$ajax_action = "action=" ascii
$fluent_ref = "fluent-support" ascii nocase
$admin_ajax = "admin-ajax.php" ascii nocase
$nonce_bypass = "nonce" ascii nocase
condition:
uint16(0) == 0x0D0A and (2 of them) and filesize < 1MB
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-78467 - Fluent Support Pro Unauthorized Access Attempt"; flow:established,to_server; content:"admin-ajax.php"; http_uri; nocase; content:"action="; http_uri; distance:0; content:"fluent_support"; http_uri; nocase; distance:0; classtype:attempted-admin; sid:20267846; rev:1;)
Elastic Detection
sequence by source.ip with maxspan=5s
[network where process.name == "httpd" and event.action == "connection_accepted" and destination.port == 80]
[http where request.method == "POST" and url.path == "/wp-admin/admin-ajax.php" and url.query contains "action=fluent_support" and user.name != "administrator"]
Note: Since the exact AJAX action string is unknown, the query should be adapted based on the actual plugin functionality once the vendor discloses the vulnerable function name.
Splunk SPL Query
index=web sourcetype=access_combined
| search uri="/wp-admin/admin-ajax.php" OR uri="/wp-json/fluent-support*" method=POST
| rex field=uri "action=(?<ajax_action>[^&]+)"
| rex field=user_agent "WordPress/[\d.]+; (?<site_url>[^\s]+)"
| search ajax_action=* fluent*
| join type=inner user [
index=auth sourcetype=wp_users
| stats max(role) as max_role by user
]
| where max_role != "administrator" AND max_role != "editor"
| stats count by user, site_url, ajax_action, uri
| sort - count
Wazuh OSSEC Rule
<group name="wordpress, cve-2026-78467,">
<rule id="100467" level="8">
<if_sid>31122</if_sid>
<match>POST /wp-admin/admin-ajax.php</match>
<regex>action=.*fluent.*</regex>
<description>CVE-2026-78467: Non-admin user attempting Fluent Support Pro AJAX action</description>
<mitre>
<id>T1210</id>
</mitre>
<group>web_application_attack,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch Confidence: 0/4 — UNPATCHED
No patch evidence exists from any tracked source. The vendor has not released a fixed version, and no official advisory identifying the vulnerable function or the required capability has been published.
1. Immediate Mitigations
- Restrict Subscriber accounts: Disable open user registration if it is enabled. Audit existing Subscriber accounts and remove inactive or untrusted ones.
- Network-level blocking: Use a web application firewall (WAF) to restrict access to
admin-ajax.phpfor non-admin roles, or use a plugin that enforces role-based AJAX restrictions. - Disable the plugin: If the support portal is not mission-critical, temporarily disable Fluent Support Pro until a patch is available.
- Review logs: Audit HTTP access logs for anomalous AJAX requests from Subscriber accounts to Fluent Support Pro handlers.
- Enable security plugins: Deploy WordPress security plugins (e.g., Wordfence, Sucuri) that add virtual patching or request filtering for known vulnerable patterns.
2. Patch/Upgrade Steps
- Monitor vendor channels: Subscribe to WPManageNinja (Fluent Support developer) release announcements and security advisories.
- Wait for patched version: Once a version newer than 2.3.1 is released, update immediately. Verify the changelog explicitly references CVE-2026-78467 or the capability check fix.
- Test in staging: Apply the patch in a staging environment first, verifying core functionality before production rollout.
- Fallback plan: If the vendor is unresponsive or no patch is forthcoming, consider migrating to an actively maintained alternative support plugin.
3. Long-Term Hardening
- Least privilege principle: Review and limit the WordPress roles and capabilities assigned to users. Consider using the "Subscriber" role only where absolutely necessary.
- Plugin hygiene: Establish a formal plugin review and update process. Track vulnerabilities (e.g., via NVD feeds, WPScan) for all installed plugins.
- Deployment hardening: Disable XML-RPC and REST endpoint exposure where not required. Implement per-role AJAX access controls at the application layer.
- Monitoring cadence: Route WordPress access logs to the SIEM (Splunk/Elastic/Wazuh) and create alerts for any user with a non-admin role accessing admin-restricted endpoints.
- Backup verification: Maintain verified, encrypted backups to allow rapid rollback if exploitation is detected.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-78467 — Official CVE record with CVSS vector and description.
- CWE-862 — Missing Authorization: https://cwe.mitre.org/data/definitions/862.html — Weakness class definition and examples.
- WPManageNinja Fluent Support: https://fluentsupport.com/ — Official product page for patch availability monitoring.
- WordPress Plugin Vulnerability Taxonomy: https://owasp.org/www-project-web-security-testing-guide/ — Reference for testing missing authorization flaws in WordPress.
- CISA Known Exploited Vulnerabilities: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — Confirms CVE-2026-78467 is NOT listed (as of report date).
Threat Actor Activity: No threat actor campaigns, exploit-in-the-wild evidence, or public PoC have been identified for CVE-2026-78467 at the time of this report. The vulnerability remains unpatched, and the risk of exploitation increases over time as security researchers and attackers analyze the vulnerable code.
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.