ShellCodeX
Tools • Events • News • Insights
ShellCodeX vulnerability brief
MEDIUM Received

CVE-2026-8791

The Booking System Trafft plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the `bookingWebsiteUrl` setting in all versions up to, and including, 1.0.17 due to a missing capability check on the `set_options` AJAX action when the plugin is operating in agency mode. The `trafftSetOptions()` handler verifies a nonce that is exposed to any authenticated user (it is printed inline on every admin page, including profile.php) but performs no capability check before calling `update_option('trafft_option', ['bookingWebsiteUrl' => ...])`. This setting is then used by `trafftAdminAssets()` to enqueue `<bookingWebsiteUrl>/embed.js` as a script on every front-end page that renders the booking shortcode. This makes it possible for authenticated attackers, with Subscriber-level access and above, to point the embed-script URL at an attacker-controlled origin and execute arbitrary JavaScript in the browser of every site visitor (including admins).

Published 29 Jul 2026, 11:16 UTC Last modified 29 Jul 2026, 11:16 UTC
01

Attack profile

The conditions required to exploit this vulnerability and its potential impact.

Attack vector Network
Attack complexity Low
Privileges required Low
User interaction None
Scope Changed
Confidentiality Low
Integrity Low
Availability None
Exploitability3.1
Impact2.7
02

Affected products

Product applicability statements supplied with the NVD record.

NVD has not published structured affected-product data for this record.
03

Weakness classification

CWE categories help security teams group the underlying software weakness.

04

Source references

External advisories, patches and technical reports attached to this CVE record.