CVE-2026-107743: Mapster WP Maps: unauth REST route enables stored XSS

HIGH
Published October 29, 2026
CISO Take

Mapster WP Maps for WordPress (up to 2.0.5) exposes a REST route that accepts map configuration from anyone without authentication, and an unescaped color field is then rendered into page markup, letting an unauthenticated attacker plant persistent JavaScript on any page that embeds the map. This is a general-purpose WordPress mapping plugin, not an AI/ML component, so its relevance to AI systems is incidental, for example when it sits on a site hosting AI product portals or chatbot front ends. It carries a high CVSS score of 7.2 with a changed scope, but there is no EPSS data, no CISA KEV listing, no public exploit and no Nuclei template, so mass exploitation is not currently indicated. Update to version 2.0.6 or later, which changes the affected shortcode renderer, and review stored map configurations for injected quotes or script content in the loading background color field.

Sources:NVDWordfenceWordPress Plugin TracATLAS

What is the risk?

Moderate overall and low for AI-specific risk. Exploitation is trivial: the endpoint needs no authentication or nonce, and the attack is network-reachable with low complexity. Impact is limited to low confidentiality and integrity (CVSS C:L/I:L, scope changed) because the payload runs in visitors' browsers, not on the server. There is no known exploitation, no KEV listing and no public exploit, and the package is not part of a typical AI/ML stack. The risk rises if the affected WordPress site hosts authenticated admin sessions, AI product dashboards or customer-facing AI assistants whose session tokens could be stolen.

How does the attack unfold?

Initial Access
Attacker sends an unauthenticated request to the exposed save-mapmaker REST route, which has no capability check or nonce.
AML.T0049
Exploitation
A crafted loading_background_color value with a quote character survives sanitize_text_field and is stored in the map configuration.
Execution
The shortcode renderer outputs the stored value unescaped in an inline style attribute, so the script runs when a visitor loads the page.
AML.T0078
Impact
The attacker hijacks administrator sessions, defaces pages or redirects users to phishing sites.

What systems are affected?

PackageEcosystemVulnerable RangePatched
Mapster WP Maps——No patch

Do you use Mapster WP Maps? You're affected.

How severe is it?

CVSS 3.1
7.2 / 10
EPSS
0.4%
chance of exploitation in 30 days
Higher than 34% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Trivial

What is the attack surface?

AVACPRUISCIA
AVNetwork
ACLow
PRNone
UINone
SChanged
CLow
ILow
ANone

What should I do?

1 step
  1. 1) Upgrade Mapster WP Maps to 2.0.6 or later. 2) If patching is not possible, deactivate the plugin or block unauthenticated POST requests to /wp-json/mapster-wp-maps/save-mapmaker at the WAF or web server. 3) Audit stored map configurations (ACF fields, especially loading_background_color) for quote characters, event handlers or script content, and clean any entries found. 4) Review web server logs for unauthenticated POSTs to the save-mapmaker route. 5) Deploy a strict Content-Security-Policy to limit inline script execution, and rotate sessions for administrators who may have viewed affected pages.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

ISO 42001
A.6.2.6-AI system operation and monitoring
NIST AI RMF
MANAGE 2.3-Responses to identified risks and incidents

Frequently Asked Questions

What is CVE-2026-107743?

Mapster WP Maps for WordPress (up to 2.0.5) exposes a REST route that accepts map configuration from anyone without authentication, and an unescaped color field is then rendered into page markup, letting an unauthenticated attacker plant persistent JavaScript on any page that embeds the map. This is a general-purpose WordPress mapping plugin, not an AI/ML component, so its relevance to AI systems is incidental, for example when it sits on a site hosting AI product portals or chatbot front ends. It carries a high CVSS score of 7.2 with a changed scope, but there is no EPSS data, no CISA KEV listing, no public exploit and no Nuclei template, so mass exploitation is not currently indicated. Update to version 2.0.6 or later, which changes the affected shortcode renderer, and review stored map configurations for injected quotes or script content in the loading background color field.

Is CVE-2026-107743 actively exploited?

No confirmed active exploitation of CVE-2026-107743 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-107743?

1) Upgrade Mapster WP Maps to 2.0.6 or later. 2) If patching is not possible, deactivate the plugin or block unauthenticated POST requests to /wp-json/mapster-wp-maps/save-mapmaker at the WAF or web server. 3) Audit stored map configurations (ACF fields, especially loading_background_color) for quote characters, event handlers or script content, and clean any entries found. 4) Review web server logs for unauthenticated POSTs to the save-mapmaker route. 5) Deploy a strict Content-Security-Policy to limit inline script execution, and rotate sessions for administrators who may have viewed affected pages.

What systems are affected by CVE-2026-107743?

This vulnerability affects the following AI/ML architecture patterns: WordPress-hosted web front ends, AI product marketing and documentation sites, Chatbot embed pages.

What is the CVSS score for CVE-2026-107743?

CVE-2026-107743 has a CVSS v3.1 base score of 7.2 (HIGH). The EPSS exploitation probability is 0.40%.

What is the AI security impact?

Affected AI Architectures

WordPress-hosted web front endsAI product marketing and documentation sitesChatbot embed pages

MITRE ATLAS Techniques

AML.T0049Exploit Public-Facing Application
AML.T0078Drive-by Compromise

Compliance Controls Affected

ISO 42001: A.6.2.6
NIST AI RMF: MANAGE 2.3

What are the technical details?

Original Advisory

The Mapster WP Maps plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 2.0.5. This is due to the /wp-json/mapster-wp-maps/save-mapmaker REST route being registered with a permission_callback that unconditionally returns true (no capability check, no nonce), together with the mapster_write_config_to_acf() helper only sanitizing string config values with sanitize_text_field() — which strips HTML tags but leaves quote characters intact — and the mapster_wp_map shortcode renderer in mapster_wordpress_maps_shortcode_display() concatenating the stored loading_background_color value into a single-quoted inline style attribute without esc_attr(). This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

Exploitation Scenario

An attacker sends an unauthenticated POST to /wp-json/mapster-wp-maps/save-mapmaker with a loading_background_color value containing a single quote that breaks out of the inline style attribute and adds an event handler. The value passes through sanitize_text_field, which keeps the quotes. A page embedding the map shortcode then renders the payload. When an administrator of a WordPress site hosting an AI product portal opens that page, the script steals the session or creates a rogue admin account, giving the attacker control of the site and its embedded AI chatbot or lead capture content.

Weaknesses (CWE)

CWE-79 — Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'): The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

  • [Architecture and Design] Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid [REF-1482]. Examples of libraries and frameworks that make it easier to generate properly encoded output include Microsoft's Anti-XSS library, the OWASP ESAPI Encoding module, and Apache Wicket.
  • [Implementation, Architecture and Design] Understand the context in which your data will be used and the encoding that will be expected. This is especially important when transmitting data between different components, or when generating outputs that can contain multiple encodings at the same time, such as web pages or multi-part mail messages. Study all expected communication protocols and data representations to determine the required encoding strategies. For any data that will be output to another web page, especially any data that was received from external inputs, use the appropriate encoding on all non-alphanumeric characters. Parts of the same output document may require different encodings, which will vary depending on whether the output is in the: etc. Note that HTML Entity Encoding is only appropriate for the HTML body. Consult the XSS Prevention Cheat Sheet [REF-724] for more details on the types of encoding and escaping that are needed. HTML body Element attributes (such as src="XYZ") URIs JavaScript sections Casca

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Timeline

Published
October 29, 2026
Last Modified
October 29, 2026
First Seen
October 29, 2026

Related Vulnerabilities