CVE-2025-62211 Overview
CVE-2025-62211 is a cross-site scripting (XSS) vulnerability in Microsoft Dynamics 365 Field Service (online). The flaw stems from improper neutralization of user-supplied input during web page generation [CWE-79]. An authenticated attacker can inject malicious script into pages rendered to other users, enabling spoofing across a network. Successful exploitation requires user interaction and produces a scope change, meaning injected content can affect resources beyond the vulnerable component. Microsoft published the advisory on November 11, 2025, and updated tracking metadata on November 17, 2025.
Critical Impact
An authorized attacker can inject script into Dynamics 365 Field Service pages, spoof trusted UI elements, and compromise confidentiality and integrity for other tenant users who interact with the crafted content.
Affected Products
- Microsoft Dynamics 365 Field Service (online)
- Microsoft Dynamics 365 (cloud-hosted tenants exposing Field Service)
- Any browser-based Dynamics 365 client rendering the affected Field Service module
Discovery Timeline
- 2025-11-11 - CVE-2025-62211 published to NVD and Microsoft Security Update Guide
- 2025-11-17 - Last updated in NVD database
Technical Details for CVE-2025-62211
Vulnerability Analysis
The vulnerability is a stored or reflected cross-site scripting issue within Dynamics 365 Field Service. The application fails to properly neutralize attacker-controlled input before embedding it in web pages delivered to other authenticated users. When a victim loads the affected page, the browser executes the injected payload in the context of the Dynamics 365 origin.
Because Dynamics 365 Field Service handles work orders, customer assets, and dispatch records, the rendered context contains sensitive operational data. The scope-changing nature of the flaw indicates the injected script can interact with resources beyond the originally vulnerable component, such as iframed widgets, related Dataverse entities, or single sign-on session artifacts in the same browser context.
Exploitation requires the attacker to hold valid low-privilege credentials within the targeted Dynamics 365 tenant and to entice a victim into viewing the crafted record or URL.
Root Cause
The root cause is missing or insufficient output encoding when user-controlled fields are rendered into the Field Service web interface. Input that should have been HTML-encoded, attribute-encoded, or stripped of script constructs reaches the DOM intact, allowing arbitrary JavaScript execution.
Attack Vector
An authenticated attacker submits a crafted payload into a Field Service field, record, or shared resource. When another user, such as a dispatcher, technician, or administrator, opens the record, the payload executes in the victim's browser. The attacker can spoof UI elements, exfiltrate session tokens, perform actions on behalf of the victim, or stage further phishing inside the trusted Dynamics 365 origin.
No verified public exploit code is available. Refer to the Microsoft Security Update Guide CVE-2025-62211 for vendor technical detail.
Detection Methods for CVE-2025-62211
Indicators of Compromise
- Field Service records containing <script>, javascript:, onerror=, onload=, or encoded variants in free-text fields, names, or notes
- Outbound browser requests from Dynamics 365 sessions to attacker-controlled domains carrying cookies or session identifiers
- Anomalous Dataverse audit entries showing record edits by low-privilege users immediately preceding access by privileged staff
- Unexpected creation of work orders, bookings, or customer assets containing HTML markup
Detection Strategies
- Inspect Dynamics 365 audit logs for write operations that include HTML or script tokens in entity fields
- Deploy Content Security Policy (CSP) reporting endpoints and monitor report-uri violations originating from Field Service pages
- Correlate Microsoft 365 sign-in logs with browser telemetry to surface session reuse from unexpected geographies after a Field Service record view
Monitoring Recommendations
- Forward Dynamics 365 and Entra ID audit logs into a centralized analytics platform such as Singularity Data Lake for OCSF-normalized querying and retention
- Use endpoint telemetry from Singularity Endpoint to identify browser child processes spawning unexpected network connections after Dynamics 365 access
- Alert on Dataverse API calls that exfiltrate bulk entity data shortly after a user opened a flagged Field Service record
How to Mitigate CVE-2025-62211
Immediate Actions Required
- Apply the Microsoft-issued cloud-side fix referenced in the Microsoft Security Update Guide CVE-2025-62211; no customer action is required for tenant-side patching, but verify tenant version status
- Review Field Service user assignments and remove unnecessary write privileges on shared entities
- Audit recent record edits for embedded HTML or script content and quarantine suspicious entries
- Force re-authentication and rotate session tokens for users who viewed suspicious records
Patch Information
Microsoft addresses CVE-2025-62211 server-side within the Dynamics 365 Field Service online service. Customers should confirm their tenant reflects the patched build by consulting the Microsoft Security Update Guide entry for this CVE. On-premises deployments are not listed as affected.
Workarounds
- Restrict Field Service write access to trusted accounts pending tenant patch confirmation
- Enforce conditional access policies that require compliant devices and phishing-resistant authentication for Dynamics 365
- Configure browser-level Content Security Policy and disable unnecessary HTML rendering in custom Field Service forms
- Train dispatchers and field staff to report unexpected popups or UI anomalies inside Dynamics 365
# Example: query Dynamics 365 audit log via Microsoft Graph for suspicious script content
# Requires AuditLog.Read.All permissions
curl -H "Authorization: Bearer $TOKEN" \
"https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?\$filter=activityDisplayName eq 'Update entity' and contains(targetResources/any(t:t/displayName),'<script')"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

