Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-13186

CVE-2026-13186: Telerik UI for AJAX Path Traversal Flaw

CVE-2026-13186 is a path traversal vulnerability in Progress Telerik UI for AJAX that enables attackers to exploit file-based persistence storage, leading to deserialization attacks and remote code execution.

Published:

CVE-2026-13186 Overview

CVE-2026-13186 is a path traversal vulnerability [CWE-22] in Progress® Telerik® UI for AJAX versions prior to v2026.2.708. The flaw resides in the file-based persistence storage provider. When the storage key derives from user-controlled input, attackers can traverse the file system and place attacker-controlled serialized payloads in unexpected locations. The provider then deserializes those payloads, resulting in remote code execution on the host application server. Progress has published a security advisory and released a fixed build.

Critical Impact

Unauthenticated attackers reaching a vulnerable Telerik UI for AJAX endpoint can achieve remote code execution through attacker-controlled deserialization, compromising confidentiality, integrity, and availability of the hosting ASP.NET application.

Affected Products

  • Progress Telerik UI for AJAX versions prior to v2026.2.708
  • ASP.NET Web Forms applications embedding vulnerable Telerik UI for AJAX assemblies
  • Applications using the file-based persistence storage provider with user-influenced storage keys

Discovery Timeline

  • 2026-07-22 - CVE-2026-13186 published to NVD
  • 2026-07-22 - Last updated in NVD database

Technical Details for CVE-2026-13186

Vulnerability Analysis

Telerik UI for AJAX provides a persistence storage provider that serializes control state to disk. The provider constructs a file path using a storage key, which is expected to be a trusted identifier. In the vulnerable versions, the provider does not enforce canonicalization or containment of the storage key against a fixed base directory. When an application supplies a storage key derived from HTTP request data, an attacker can inject path traversal sequences to redirect reads and writes to arbitrary file system locations.

Because the provider ultimately deserializes the referenced file, an attacker who can control the file contents or the resolved path can trigger .NET deserialization on attacker-supplied data. This chain converts a path traversal primitive into arbitrary code execution in the worker process context. Exploitation requires network reachability and specific application configuration, reflected in the high attack complexity of the CVSS vector.

Root Cause

The root cause is insufficient validation of the storage key used by the file-based persistence provider. The provider concatenates untrusted input into a file path without ensuring the resolved path remains within an allowed directory. Combined with deserialization of the referenced content, the design permits attacker-controlled type instantiation.

Attack Vector

An unauthenticated remote attacker crafts HTTP requests that influence the storage key handled by the vulnerable persistence provider. The attacker uses traversal sequences such as ..\ to redirect the provider to a controlled payload location, then triggers loading and deserialization. Successful exploitation yields code execution as the ASP.NET application identity. See the Telerik Security Advisory CVE-2026-13186 for vendor technical details.

No verified public proof-of-concept code is available. Refer to the vendor advisory for authoritative technical guidance.

Detection Methods for CVE-2026-13186

Indicators of Compromise

  • HTTP requests to Telerik AJAX handlers such as Telerik.Web.UI.WebResource.axd or Telerik.Web.UI.DialogHandler.aspx containing traversal sequences (..%2f, ..%5c, ..\).
  • Unexpected files written under the ASP.NET application App_Data directory or outside the configured persistence storage root.
  • w3wp.exe spawning child processes such as cmd.exe, powershell.exe, or rundll32.exe following requests to Telerik endpoints.
  • Deserialization exceptions or type-load errors originating from Telerik.Web.UI assemblies in application event logs.

Detection Strategies

  • Inspect IIS and application logs for Telerik handler requests containing encoded traversal patterns or unusually long query strings referencing persistence keys.
  • Alert on process lineage where IIS worker processes launch command interpreters or scripting hosts shortly after Telerik endpoint activity.
  • Monitor file integrity on directories used by the persistence provider and flag writes originating from web request contexts.

Monitoring Recommendations

  • Enable verbose IIS request logging on hosts running Telerik UI for AJAX and forward logs to a central analytics platform.
  • Correlate web request telemetry with endpoint process telemetry to surface deserialization-to-execution chains.
  • Track outbound network connections from ASP.NET worker processes to detect post-exploitation callbacks.

How to Mitigate CVE-2026-13186

Immediate Actions Required

  • Upgrade Progress Telerik UI for AJAX to v2026.2.708 or later on every application that ships the control suite.
  • Inventory application code for any use of the file-based persistence storage provider and audit how storage keys are constructed.
  • Restrict network exposure of ASP.NET applications embedding Telerik controls until patching is complete.

Patch Information

Progress addresses CVE-2026-13186 in Telerik UI for AJAX v2026.2.708. The fixed release validates and canonicalizes storage keys used by the file-based persistence provider, preventing traversal outside the configured storage root. Refer to the Telerik Security Advisory CVE-2026-13186 for build details and upgrade instructions.

Workarounds

  • Replace user-controlled storage keys with server-generated identifiers that cannot be influenced by request data.
  • Configure the persistence provider to use a non-file-based backend where feasible.
  • Deploy web application firewall rules that block traversal sequences in requests targeting Telerik AJAX handlers.
  • Run the ASP.NET application pool under a least-privileged identity with restricted file system write permissions.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.