VYPR
Medium severity6.1NVD Advisory· Published Jun 9, 2026

CVE-2026-8907

CVE-2026-8907

Description

The WP-Ultimate-Map plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 1.1. This is due to missing nonce validation on the process_init() function hooked to admin_init, which saves plugin settings (zoom-level, focus-lat, focus-lng, sel_places, sel_routes) via update_option() based solely on the presence of a save-setting POST parameter. Additionally, the saved values — particularly zoom-level — are stored without sanitization and later echoed into an HTML attribute (and inline JavaScript) on the settings page without escaping. This makes it possible for unauthenticated attackers to change plugin settings and inject arbitrary web scripts via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.

Affected products

2

Patches

0

No patches discovered yet.

Vulnerability mechanics

Root cause

"The plugin fails to validate nonces and sanitize user input when saving settings, leading to Cross-Site Request Forgery and potential script injection."

Attack vector

An unauthenticated attacker can craft a malicious request to the plugin's settings page, exploiting the missing nonce validation in the `process_init()` function [ref_id=1]. This request, when triggered by a site administrator, can alter plugin settings like zoom level, latitude, and longitude. The vulnerability is further compounded as the saved zoom level is later echoed into an HTML attribute and inline JavaScript on the settings page without proper escaping, enabling script injection [ref_id=1].

Affected code

The `process_init()` function within `class-admin.php` is responsible for handling the saving of plugin settings. This function checks for the presence of a `save-setting` POST parameter but lacks nonce validation. It directly uses `$_POST` values for `focus-lat`, `focus-lng`, `zoom-level`, `sel_routes`, and `sel_places` to update options via `update_option()` [ref_id=1]. Additionally, the `settings_page()` function echoes the `zoom_level` option into inline JavaScript without sanitization [ref_id=1].

What the fix does

The patch is not provided in the bundle. The advisory indicates that the vulnerability is due to missing nonce validation and unsanitized input. Remediation would involve implementing nonce checks before processing POST data and sanitizing all user-supplied values before saving them to the database and echoing them to the page.

Preconditions

  • authThe attacker is unauthenticated.
  • inputThe attacker must trick a site administrator into performing an action, such as clicking a link, that triggers the forged request.

Generated on Jun 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

4

News mentions

0

No linked articles in our index yet.