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<=1.1+ 1 more
- (no CPE)range: <=1.1
- (no CPE)range: <=1.1
Patches
0No 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- plugins.trac.wordpress.org/browser/wp-ultimate-map/tags/1.1/admin/class-admin.phpnvd
- plugins.trac.wordpress.org/browser/wp-ultimate-map/tags/1.1/admin/class-admin.phpnvd
- plugins.trac.wordpress.org/browser/wp-ultimate-map/tags/1.1/admin/class-admin.phpnvd
- www.wordfence.com/threat-intel/vulnerabilities/id/334fb374-c84b-4fec-8653-f7ad6af1f631nvd
News mentions
0No linked articles in our index yet.