CVE-2026-103684
Executive Summary
CVE-2026-103684 is a Missing Authorization (CWE-862) vulnerability in the Arraytics WP Event Solution WordPress plugin, affecting all versions up to and including 4.1.25. The flaw permits unauthenticated remote attackers to reach functionality that should be restricted by access-control checks, resulting in a limited integrity impact (CVSS 5.3). Any WordPress site running the vulnerable plugin version exposes incorrectly configured access-control surface to the public internet without authentication.
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 class is CWE-862, Missing Authorization, categorized by the CNA as "Exploiting Incorrectly Configured Access Control Security Levels." This class occurs when an application exposes a function, endpoint, or operation that should require authorization but fails to enforce any access-control check on the request path. The NVD description confirms the flaw is reachable without privileges ("PR:N") and without user interaction ("UI:N") over the network ("AV:N").
In the WordPress plugin context, missing authorization typically manifests as a registered action, AJAX handler, or REST route that performs a state-changing or data-accessing operation without verifying the caller's capability (for example, without a current_user_capability check or a nonce-validated capability gate). Because no specific function names, routes, or parameters are enumerated in the NVD description or CNA title, the precise vulnerable handler cannot be named here without fabrication. What is technically established from the provided data is limited and precise:
- The vulnerable component is the WP Event Solution plugin by Arraytics.
- The affected range is all versions from n/a (i.e., earliest) through 4.1.25.
- The access-control failure is reachable by an unauthenticated network attacker (PR:N, UI:N).
- The resulting impact is to integrity only (I:L), with no confidentiality (C:N) or availability (A:N) impact.
The CVSS vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N indicates that exploitation does not cross a security boundary (Scope: Unchanged), is trivially achievable (Attack Complexity: Low), and produces only a low-integrity effect — for example, an unauthorized but limited modification of plugin-managed data or configuration that the application treats as trusted. The absence of confidentiality and availability subscores implies the missing check does not directly expose sensitive records or cause denial of service; rather it permits an unauthorized state change. The attack surface is the publicly reachable WordPress front end or admin-ajax/REST interface belonging to the plugin, since such entry points are internet-exposed by default on any site with the plugin active.
No public proof-of-concept, exploit code, or Nuclei template exists according to the supplied intelligence, and no vendor patch has been identified (patch confidence 0/4). Exploitation mechanics beyond the vulnerability class are therefore inferred, not observed.
Exploitation Scenarios
No public PoC available; the attack chain below is inferred from the vulnerability class (CWE-862, Missing Authorization) and the CVSS vector.
Reconnaissance / target identification. An attacker enumerates internet-facing WordPress installations and fingerprints those running WP Event Solution at version 4.1.25 or lower. Standard plugin enumeration (publicly readable plugin assets and readme/version metadata) is sufficient to confirm the plugin and version. Shodan or similar scanners can mass-identify candidates using the plugin's asset paths and event-related page fingerprints.
Triggering the flaw class. Because the vulnerability is a missing authorization check, the attacker sends a crafted request to a plugin-exposed operation that lacks the required capability validation. Per the CNA, the access-control configuration is "incorrect," meaning the request is processed despite the caller being unauthenticated (PR:N) and requiring no user interaction (UI:N). No credentials, session, or privileged role are needed. The exact endpoint/parameter is not disclosed in the available intelligence and is not invented here.
Execution method (class level). The attacker submits a request that reaches the under-protected handler and causes the application to perform an operation it should have rejected. At the vulnerability-class level this is an unauthorized action invocation: the server executes the requested operation because no authorization gate blocks it.
Post-exploitation impact. Given I:L (low integrity) and U (unchanged scope), the realistic outcome is a limited, unauthorized modification of plugin-managed state — for example, altering event configuration or records the plugin exposes to that operation — without direct leakage of sensitive data or service disruption. The low integrity rating bounds the severity: this is not a direct RCE or full site-takeover primitive on its own, but it can be chained with other weaknesses (e.g., stored content injection or configuration tampering) to expand impact.
Because no exploit code or template exists, defenders should not expect replayable public PoC traffic; detection must target the general pattern of unauthorized access to plugin endpoints.
Impact Assessment
Business impact centers on integrity of event-related data and plugin configuration for WordPress sites running WP Event Solution through 4.1.25. The CVSS base score is 5.3 (Medium), derived from AV:N/AC:L/PR:N/UI:N (trivial, unauthenticated, remote reachability) tempered by C:N/I:L/A:N (no confidentiality or availability impact, low integrity impact) and S:U (no scope change). Blast radius is any publicly reachable installation with the vulnerable plugin active and internet-exposed — commonly event, ticketing, and community sites that publish calendars, schedules, or registration-related content. Vertical privilege escalation is not implied by the vector; the primary risk is unauthorized modification of protected functionality by anonymous actors. EPSS has not yet been scored by FIRST.org, so no probabilistic exploitation estimate is asserted. CISA KEV listing is absent. There is no evidence of in-the-wild exploitation or threat-actor campaign attribution in the provided intelligence.
Detection Guidance
Sigma Rule
title: Unauthenticated Access to WP Event Solution Protected Operation (CVE-2026-103684)
id: 9f3c1a72-5e4b-4d8a-9c21-6b7d0e2a4f11
status: experimental
description: Detects unauthenticated POST/GET requests targeting WP Event Solution plugin operations, consistent with missing authorization exploitation.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-103684
author: valtersit.com
date: 2026-01-01
logsource:
category: webserver
detection:
selection_plugin:
cs-uri-query|contains:
- '/wp-content/plugins/wp-event-solution/'
- 'wp-event-solution'
selection_action:
cs-method: 'POST'
cs-uri-query|contains:
- 'action='
- 'rest_route='
selection_unauth:
sc-status: 200
condition: selection_plugin and selection_action and selection_unauth
falsepositives:
- Legitimate public event browsing and calendar rendering
- Cached or prefetch activity from search engines
level: medium
YARA Rule
rule CVE_2026_103684_WP_Event_Solution_Missing_Auth
{
meta:
description = "Detects WP Event Solution plugin files associated with CVE-2026-103684 (missing authorization, <= 4.1.25)"
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-103684"
date = "2026-01-01"
severity = "medium"
strings:
$plugin = "wp-event-solution" ascii wide nocase
$version = "4.1.25" ascii
$ver_old = "Stable tag: 4.1" ascii nocase
$php = "<?php" ascii
condition:
$php and $plugin and any of ($version, $ver_old)
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-103684 WP Event Solution Missing Authorization Attempt"; flow:established,to_server; http.uri; content:"/wp-content/plugins/wp-event-solution/"; nocase; http.method; content:"POST"; http.uri; content:"action="; nocase; reference:cve,2026-103684; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-103684; classtype:web-application-attack; sid:2026103684; rev:1;)
Elastic Detection
sequence by source.ip with maxspan=1m
[network where http.request.method == "POST" and
http.request.uri : "*wp-event-solution*"]
[http where http.response.status_code == 200 and
url.path : "*wp-event-solution*" and
user.name : null]
Splunk SPL Query
index=web sourcetype=access_combined
| search uri_path="*wp-event-solution*" method=POST
| eval unauth=if(isnull(user) OR user="-" OR user="", 1, 0)
| where unauth=1 AND status=200
| stats count values(uri_path) as paths values(clientip) as src_ips by clientip
| where count > 5
| sort - count
Wazuh OSSEC Rule
<group name="web,wordpress,cve-2026-103684,">
<rule id="2026103" level="7">
<if_sid>31100</if_sid>
<match>wp-event-solution</match>
<regex>POST</regex>
<description>CVE-2026-103684: Possible unauthenticated access to WP Event Solution plugin operation</description>
<mitre>
<id>T1190</id>
</mitre>
<group>web_scan,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).
Immediate mitigations. Since no vendor patch exists, the primary mitigation is to deactivate and remove the WP Event Solution plugin on any site where it is not strictly required. Where the plugin must remain active, restrict access to plugin endpoints using a web application firewall (WAF) or reverse-proxy rule that blocks unauthenticated requests to plugin-specific paths, and apply strict allow-listing to the plugin's public routes. Enforce authentication at the edge for any plugin operation that is not intended for anonymous users. Monitor web logs for POST requests to
wp-event-solutionpaths returning HTTP 200 from unauthenticated sources.Patch/upgrade steps. No fixed version has been published or identified as of this report; affected versions extend through 4.1.25. Track the Arraytics WP Event Solution project and vendor channels for an updated release, and treat any version above 4.1.25 as unverified until a vendor advisory confirms the fix. Deploy promptly once a patched version is available. There is no vendor fix or documented workaround at this time.
Long-term hardening. Maintain a software bill of materials for WordPress plugins and remove unused or unsupported components. Apply least-privilege review to plugin REST/AJAX handlers during commissioning. Enable a WAF in blocking mode with virtual patching for known plugin CVEs. Adopt automated vulnerability alerting against plugin inventory so that newly disclosed CVEs in installed plugins are triaged immediately, compensating for the current lack of an EPSS score and KEV listing for this issue.
References
- NVD — CVE-2026-103684: https://nvd.nist.gov/vuln/detail/CVE-2026-103684
- CWE-862: Missing Authorization — https://cwe.mitre.org/data/definitions/862.html
- FIRST EPSS (not yet scored for this CVE): https://www.first.org/epss/
- CISA Known Exploited Vulnerabilities Catalog (no entry for this CVE): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- Arraytics WP Event Solution product page / vendor channel (monitor for advisory): https://wordpress.org/plugins/wp-event-solution/
No public proof-of-concept, exploit code, or threat-actor campaign attribution was identified in the supplied intelligence.
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.