Skip to main content

PHP EUVDEUVD-2026-22860

| CVE-2026-3643 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-04-15 Wordfence
7.2
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

5
Re-analysis Queued
Apr 22, 2026 - 20:37 vuln.today
cvss_changed
Analysis Generated
Apr 15, 2026 - 09:09 vuln.today
EUVD ID Assigned
Apr 15, 2026 - 09:00 euvd
EUVD-2026-22860
Analysis Generated
Apr 15, 2026 - 09:00 vuln.today
CVE Published
Apr 15, 2026 - 08:28 nvd
HIGH 7.2

DescriptionCVE.org

The Accessibly plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the REST API in all versions up to, and including, 3.0.3. The plugin registers REST API endpoints at /otm-ac/v1/update-widget-options and /otm-ac/v1/update-app-config with the permission_callback set to __return_true, which means no authentication or authorization check is performed. The updateWidgetOptions() function in AdminApi.php accepts user-supplied JSON data and passes it directly to AccessiblyOptions::updateAppConfig(), which saves it to the WordPress options table via update_option() without any sanitization or validation. The stored widgetSrc value is later retrieved by AssetsManager::enqueueFrontendScripts() and passed directly to wp_enqueue_script() as the script URL, causing it to be rendered as a <script> tag on every front-end page. This makes it possible for unauthenticated attackers to inject arbitrary JavaScript that executes for all site visitors by changing the widgetSrc option to point to a malicious external script.

AnalysisAI

Stored XSS in Accessibly WordPress plugin (≤3.0.3) allows unauthenticated attackers to inject malicious JavaScript executed by all site visitors via unprotected REST API endpoints. Two endpoints (/otm-ac/v1/update-widget-options and /otm-ac/v1/update-app-config) lack authentication checks (permission_callback set to __return_true), enabling attackers to modify the widgetSrc option with a URL pointing to attacker-controlled scripts. The malicious URL is stored unsanitized in WordPress options and

Technical ContextAI

This vulnerability exploits WordPress REST API security misconfigurations combined with improper output encoding. The Accessibly plugin (cpe:2.3:a:onthemapmarketing:accessibly_-_wordpress_website_accessibility) registers custom REST endpoints without implementing WordPress's standard capability checks. The permission_callback parameter controls access to REST routes-setting it to __return_true bypasses all authentication and authorization. The vulnerable code path: BaseApiController.php registers endpoints → AdminApi.php's updateWidgetOptions() accepts POST data → AccessiblyOptions::updateAppConfig() calls update_option() without sanitization → AssetsManager::enqueueFrontendScripts() retrieves the stored value and passes it to wp_enqueue_script(). This represents CWE-79 (Improper Neutralization of Input During Web Page Generation) at two critical points: input validation failure during storage and output encoding failure during script rendering. WordPress's wp_enqueue_script() function does not inherently sanitize URLs, relying on developers to validate input before storage. The attack leverages WordPress's options API as a persistent storage mechanism for malicious payloads.

RemediationAI

Update Accessibly plugin to version 3.0.4 or later immediately if a patched version has been released by OnTheMapMarketing (consult WordPress plugin repository or vendor directly to confirm current secure version, as fix version is not specified in provided data). Until patches are applied, disable the Accessibly plugin entirely to eliminate exposure-this is the only reliable mitigation since the vulnerability allows unauthenticated modification of critical settings. WordPress administrators should audit options table for suspicious widgetSrc values by checking wp_options for the accessibly configuration entries and verify no external script URLs have been injected. After updating, reset plugin configuration through the WordPress admin interface to ensure clean state. Implement Web Application Firewall rules blocking unauthorized POST requests to /wp-json/otm-ac/v1/update-widget-options and /wp-json/otm-ac/v1/update-app-config endpoints if immediate plugin removal is not feasible. Review server logs for requests to these endpoints from unexpected IP addresses to detect potential compromise. Detailed vulnerability disclosure with code references available at https://www.wordfence.com/threat-intel/vulnerabilities/id/f8234ea2-ff80-425f-b83d-29c422b40c6a?source=cve and WordPress plugin source at https://plugins.trac.wordpress.org/browser/otm-accessibly/.

More in PHP

View all
CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-46506 CRITICAL POC
10.0 May 13

NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro

CVE-2024-8353 CRITICAL POC
9.8 Sep 28

The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all

Share

EUVD-2026-22860 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy