{"id":"CVE-2026-14239","aliases":["EUVD-2026-51014","GHSA-w4cp-r668-c2ch"],"status":"published","title":"Tourmaster \u003c 5.4.8 - Stored XSS via CSRF","description":"The tourmaster WordPress plugin before 5.4.8 does not perform a nonce check when storing a custom-filter label taken from a request parameter, and does not escape that label when echoing it on the filter admin page, allowing an unauthenticated attacker to trick a logged-in administrator into storing JavaScript that then executes in the admin area (stored Cross-Site Scripting via CSRF).","severity":{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L","level":"high","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-09","score":0.00144,"percentile":0.03692,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-352","CWE-79"],"published":"2026-07-30T06:00:12Z","modified":"2026-08-04T21:31:31Z","products":[{"vendor":"goodlayers","product":"tourmaster"},{"vendor":"unknown","product":"tourmaster"}],"references":[{"url":"https://wpscan.com/vulnerability/1cd293c6-10c3-4a5c-914e-b3bdcd316d2b/","tags":["exploit","vdb-entry","technical-description"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-14239"},{"url":"https://wpscan.com/vulnerability/1cd293c6-10c3-4a5c-914e-b3bdcd316d2b"},{"url":"https://github.com/advisories/GHSA-w4cp-r668-c2ch"}],"sources":{"cve":[{"id":"CVE-2026-14239","title":"Tourmaster \u003c 5.4.8 - Stored XSS via CSRF","description":"The tourmaster WordPress plugin before 5.4.8 does not perform a nonce check when storing a custom-filter label taken from a request parameter, and does not escape that label when echoing it on the filter admin page, allowing an unauthenticated attacker to trick a logged-in administrator into storing JavaScript that then executes in the admin area (stored Cross-Site Scripting via CSRF).","status":"published","published":"2026-07-30T06:00:12.663Z","modified":"2026-08-04T18:58:09.234Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L","level":"high","assessor":"adp"}],"cwes":["CWE-79","CWE-352"],"updated_at":"2026-11-02T13:38:32.13011Z"}],"euvd":[{"id":"EUVD-2026-51014","description":"The tourmaster WordPress plugin before 5.4.8 does not perform a nonce check when storing a custom-filter label taken from a request parameter, and does not escape that label when echoing it on the filter admin page, allowing an unauthenticated attacker to trick a logged-in administrator into storing JavaScript that then executes in the admin area (stored Cross-Site Scripting via CSRF).","status":"published","published":"2026-07-30T06:00:12Z","modified":"2026-08-04T18:58:09Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L","level":"high"}],"updated_at":"2026-11-02T18:02:22.516769Z"}],"ghsa":[{"id":"GHSA-w4cp-r668-c2ch","title":"The tourmaster WordPress plugin before 5.4.8 does not perform a nonce check when storing a custom...","description":"The tourmaster WordPress plugin before 5.4.8 does not perform a nonce check when storing a custom-filter label taken from a request parameter, and does not escape that label when echoing it on the filter admin page, allowing an unauthenticated attacker to trick a logged-in administrator into storing JavaScript that then executes in the admin area (stored Cross-Site Scripting via CSRF).","status":"published","published":"2026-07-30T06:32:36Z","modified":"2026-08-04T21:31:31Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:10:06.083807Z"}],"nvd":[{"id":"CVE-2026-14239","description":"The tourmaster WordPress plugin before 5.4.8 does not perform a nonce check when storing a custom-filter label taken from a request parameter, and does not escape that label when echoing it on the filter admin page, allowing an unauthenticated attacker to trick a logged-in administrator into storing JavaScript that then executes in the admin area (stored Cross-Site Scripting via CSRF).","status":"published","published":"2026-07-30T06:25:00.337Z","modified":"2026-08-04T20:16:48.65Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L","level":"high","assessor":"secondary"}],"cwes":["CWE-79","CWE-352"],"updated_at":"2026-11-02T14:12:33.955581Z"}]}}
