{"id":"CVE-2026-119152","kind":"vulnerability","aliases":["CVE-2026-119152"],"related":[],"title":"LatePoint WordPress plugin: unauthenticated stored cross-site scripting via booking email","description":"The Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'customer[email] (inside params)' parameter in all versions up to, and including, 5.7.6 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. An unauthenticated visitor can exploit this by registering as a LatePoint customer via the public booking form — receiving an active customer session with no WordPress account — and then submitting a quoted local-part email address containing an HTML payload (e.g. a tag with no spaces) that passes FILTER_VALIDATE_EMAIL but is stored and rendered unescaped.","summary":"The LatePoint booking plugin for WordPress stores the customer email submitted on its public booking form without escaping it, so a crafted email address can carry an HTML payload. That payload runs in the browser of anyone who opens the page where it is rendered, including site administrators.","severity":"medium","cvss":5.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["latepoint","package","self-hosted","wordpress"],"not_affected_if":["newer-than-5.7.6","plugin-not-installed"],"how_to_check":"- Check the installed LatePoint plugin version in the WordPress admin under Plugins; affected versions are all up to and including `5.7.6`.\n- Confirm whether the public booking form is enabled on the site.","fix":"- LatePoint: unknown; the sources do not state a fixed version.","status":"open","published_at":"2026-11-07T03:17:01+00:00","first_seen_at":"2026-11-07T03:45:32+00:00","triaged_at":"2026-11-07T03:48:03+00:00","updated_at":"2026-11-07T03:48:03+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-07T03:48:03Z","model":"claude-haiku-5-5","output":{"fix":"- LatePoint: unknown; the sources do not state a fixed version.","reach":"internet","title":"LatePoint WordPress plugin: unauthenticated stored cross-site scripting via booking email","impact":"medium","summary":"The LatePoint booking plugin for WordPress stores the customer email submitted on its public booking form without escaping it, so a crafted email address can carry an HTML payload. That payload runs in the browser of anyone who opens the page where it is rendered, including site administrators.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","latepoint","self-hosted"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"script runs in visitors' and admins' browsers on the site","analyst_note":"Find the vendor's fixed version for LatePoint after 5.7.6 and confirm the source of the NVD entry.","how_to_check":"- Check the installed LatePoint plugin version in the WordPress admin under Plugins; affected versions are all up to and including `5.7.6`.\n- Confirm whether the public booking form is enabled on the site.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","newer-than-5.7.6"],"who_is_affected":"Sites running the LatePoint plugin for WordPress up to and including 5.7.6 with the public booking form available to visitors. An attacker needs no WordPress account, since the booking flow creates a customer session. Sites that do not run LatePoint, or run a later version, are not affected.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.00073,"input_tokens":4418,"output_tokens":577,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-119152':15A,18A '-2026':14A,17A '5.7.6':107C 'access':136C 'account':165C 'activ':159C 'address':48B,175C 'administr':72B 'anyon':61B 'appoint':74C 'arbitrari':125C 'attack':122C 'book':11A,27B,39B,75C,155C 'browser':59B 'calendar':78C 'carri':50B 'contain':176C 'craft':46B 'cross':7A,90C 'cross-sit':6A,89C 'custom':33B,95C,151C,160C 'cve':13A,16A 'due':108C 'e.g':180C 'email':12A,34B,47B,96C,174C,190C 'escap':42B,115C 'execut':132C 'exploit':144C 'filter':188C 'form':40B,156C 'host':23B 'html':52B,178C 'includ':70B,106C 'inject':124C,138C 'input':111C 'insid':97C 'insuffici':110C 'latepoint':1A,19B,26B,77C,150C 'local':172C 'local-part':171C 'make':117C 'open':63B 'output':114C 'packag':20B 'page':65B,129C,139C 'param':98C 'paramet':99C 'part':173C 'pass':187C 'payload':53B,55B,179C 'plugin':3A,28B,76C,82C 'possibl':119C 'public':38B,154C 'quot':170C 'receiv':157C 'regist':147C 'render':69B,195C 'run':56B 'sanit':112C 'schedul':79C 'script':9A,92C,127C 'self':22B 'self-host':21B 'session':161C 'site':8A,71B,91C 'space':185C 'store':5A,31B,88C,193C 'submit':35B,168C 'tag':182C 'unauthent':4A,121C,141C 'unescap':196C 'user':135C 'valid':189C 'version':102C 'via':10A,93C,152C 'visitor':142C 'vulner':86C 'web':126C 'whenev':133C 'without':41B 'wordpress':2A,24B,30B,81C,84C,164C","nicknames":[],"mitigations":[],"who_affected":"Sites running the LatePoint plugin for WordPress up to and including 5.7.6 with the public booking form available to visitors. An attacker needs no WordPress account, since the booking flow creates a customer session. Sites that do not run LatePoint, or run a later version, are not affected.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["latepoint","medium","package","selfhosted","wordpress"],"campaign_type":null,"search_a":"'-119152':15A,18A '-2026':14A,17A 'book':11A 'cross':7A 'cross-sit':6A 'cve':13A,16A 'email':12A 'latepoint':1A 'plugin':3A 'script':9A 'site':8A 'store':5A 'unauthent':4A 'via':10A 'wordpress':2A","search_b":"'address':48B 'administr':72B 'anyon':61B 'book':27B,39B 'browser':59B 'carri':50B 'craft':46B 'custom':33B 'email':34B,47B 'escap':42B 'form':40B 'host':23B 'html':52B 'includ':70B 'latepoint':19B,26B 'open':63B 'packag':20B 'page':65B 'payload':53B,55B 'plugin':28B 'public':38B 'render':69B 'run':56B 'self':22B 'self-host':21B 'site':71B 'store':31B 'submit':35B 'without':41B 'wordpress':24B,30B","search_c":"'5.7.6':107C 'access':136C 'account':165C 'activ':159C 'address':175C 'appoint':74C 'arbitrari':125C 'attack':122C 'book':75C,155C 'calendar':78C 'contain':176C 'cross':90C 'cross-sit':89C 'custom':95C,151C,160C 'due':108C 'e.g':180C 'email':96C,174C,190C 'escap':115C 'execut':132C 'exploit':144C 'filter':188C 'form':156C 'html':178C 'includ':106C 'inject':124C,138C 'input':111C 'insid':97C 'insuffici':110C 'latepoint':77C,150C 'local':172C 'local-part':171C 'make':117C 'output':114C 'page':129C,139C 'param':98C 'paramet':99C 'part':173C 'pass':187C 'payload':179C 'plugin':76C,82C 'possibl':119C 'public':154C 'quot':170C 'receiv':157C 'regist':147C 'render':195C 'sanit':112C 'schedul':79C 'script':92C,127C 'session':161C 'site':91C 'space':185C 'store':88C,193C 'submit':168C 'tag':182C 'unauthent':121C,141C 'unescap':196C 'user':135C 'valid':189C 'version':102C 'via':93C,152C 'visitor':142C 'vulner':86C 'web':126C 'whenev':133C 'wordpress':81C,84C,164C","first_public_at":"2026-11-07T03:17:01+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-119152","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119152","severity":null,"published_at":"2026-11-07T03:17:01+00:00","modified_at":"2026-11-07T03:17:01+00:00","first_seen_at":"2026-11-07T03:45:32+00:00","fetched_at":"2026-11-07T03:45:32+00:00","note":null}],"documents":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}