# CVE-2026-109590: Tour Booking Manager stored cross-site scripting in hotel map shortcode

Source: https://junglewise.ai/threats/cve-2026-109590-the-tour-booking-manager-plugin-for-wordpress-is-vulnerable-to  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-28. Updated: 2026-10-28  
License: CC BY 4.0 with a link back

CVE-2026-109590 · Severity: medium · CVSS 6.4 · Published 2026-10-28

The Tour Booking Manager plugin for WordPress, used to manage tour and hotel bookings, is vulnerable to stored cross-site scripting that allows attackers with contributor access to inject malicious scripts into pages. When site visitors view a page containing the injected code, the malicious script executes in their browser, potentially stealing credentials or redirecting users to malicious sites.

Vendors: [MagePeople](https://junglewise.ai/threats/vendors/magepeople).

## Quick answers

**Is CVE-2026-109590 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-109590 being exploited in the wild.

**How severe is CVE-2026-109590?** Medium severity, with a CVSS score of 6.4, published 28 October 2026.

**Which products and versions are affected?** MagePeople Tour Booking Manager up to and including 2.3.6.

**Is there a fix for CVE-2026-109590?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-109590 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-109590?** Check whether you run MagePeople Tour Booking Manager at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability exists in the ttbm_hotel_map_shortcode() function, which fails to properly sanitize and escape the 'width', 'height', and 'zoom' attributes of the [ttbm-hotel-map] shortcode before concatenating them into an iframe HTML element. An authenticated attacker with contributor-level access or higher can inject arbitrary JavaScript that persists in the page and executes when other users view the page.

## Affected products

- magepeople Tour Booking Manager up to and including 2.3.6

## Timeline

- 2026-10-28: disclosed

## References

- [https://github.com/magepeopleteam/tour-booking-manager](https://github.com/magepeopleteam/tour-booking-manager)
- [https://plugins.trac.wordpress.org/browser/tour-booking-manager/tags/2.3.6/inc/TTBM_Shortcodes.php](https://plugins.trac.wordpress.org/browser/tour-booking-manager/tags/2.3.6/inc/TTBM_Shortcodes.php)
