Skip to main content
Mallory
CriticalCISA KEVExploited in the wildPublic exploit

Insecure Deserialization RCE in Progress Telerik UI for ASP.NET AJAX RadAsyncUpload

IdentifiersCVE-2019-18935CWE-502· Deserialization of Untrusted Data

CVE-2019-18935 is a .NET deserialization vulnerability in Progress Telerik UI for ASP.NET AJAX, affecting versions through 2019.3.1023. The issue is in the RadAsyncUpload functionality, where attacker-controlled serialized data can be processed via .NET JavaScriptSerializer deserialization. When the attacker can supply a validly encrypted RadAsyncUpload payload—typically by knowing or recovering the Telerik encryption keys, including via CVE-2017-11317, CVE-2017-11357, or other means—the application can deserialize untrusted data and load attacker-controlled types or assemblies. Public reporting and vendor guidance indicate exploitation occurs through the Telerik.Web.UI.WebResource.axd handler associated with RadAsyncUpload, and successful exploitation results in malicious code execution in the IIS worker process context (w3wp.exe).

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation enables unauthenticated remote code execution on the target IIS server hosting the vulnerable Telerik UI for ASP.NET AJAX application. Code executes in the security context of the application pool worker process (w3wp.exe), which can allow attackers to deploy webshells, upload and execute malicious DLLs, establish persistence, run reconnaissance, and stage follow-on activity such as malware deployment, cryptomining, or ransomware. Real-world exploitation documented in the provided content includes Blue Mockingbird and Netwalker-related activity, as well as exploitation on U.S. government IIS servers.

Mitigation

If you can’t patch tonight, do this now.

If immediate upgrade is not possible, apply Telerik’s recommended security settings for RadAsyncUpload, including enabling the AllowedCustomMetaDataTypes whitelist where available and ensuring non-default, secret encryption keys are configured. Eliminate use of default Telerik keys such as PrivateKeyForEncryptionOfRadAsyncUploadConfiguration. Restrict exposure of Telerik handlers such as Telerik.Web.UI.WebResource.axd where feasible, place the application behind a WAF, and monitor IIS and endpoint telemetry for exploitation artifacts such as requests to WebResource.axd?type=rau, unexpected assembly loading errors, malicious DLLs written to temporary directories, and execution by w3wp.exe. Because exploitation commonly depends on prior key disclosure or cryptographic weakness, also patch related Telerik vulnerabilities and review for compromise if vulnerable versions were internet-exposed.

Remediation

Patch, then assume compromise.

Upgrade Progress Telerik UI for ASP.NET AJAX to R1 2020 (2020.1.114) or later. Vendor guidance in the provided content states that in 2020.1.114 and later, the AllowedCustomMetaDataTypes type-whitelisting control is enabled by default, which prevents the known exploit path by default. For older supported branches, Telerik recommended upgrading at least to R3 2019 SP1 (2019.3.1023) and applying the vendor’s recommended security settings. Also rotate or replace any exposed/default Telerik encryption keys and remediate any chained key-disclosure issues such as CVE-2017-11317 or CVE-2017-11357. Validate that all deployed Telerik instances are identified by vulnerability scanning, including nonstandard installation paths.
PUBLIC EXPLOITS

Exploits

7 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (6 hidden).

VALID 7 / 13 TOTALView more in app
CVE-2019-18935MaturityPoCVerified exploit

This repository provides a fully functional exploit for CVE-2019-18935, a critical remote code execution vulnerability in Telerik UI for ASP.NET AJAX. The exploit consists of several components: - `CVE-2019-18935.py`: The main exploit script, written in Python, orchestrates the attack by uploading a malicious DLL to the target's RadAsyncUpload handler and triggering .NET deserialization to execute the DLL. It also sets up a reverse shell listener on the attacker's machine. - `RAU_crypto.py`: Implements the cryptographic routines required to interact with Telerik's RadAsyncUpload, including encryption and HMAC generation, supporting both default and custom keys. - `reverse-shell.c`: C source code for a Windows reverse shell payload, which is compiled into a DLL and uploaded to the target. When executed, it connects back to the attacker's listener on port 1337. - `build-dll.bat`: Batch script to compile C payloads into DLLs for use in the exploit. - `README.md`: Documentation with usage instructions, configuration notes, and file descriptions. The exploit targets the RadAsyncUpload handler at a URL like `http://<HOST>/Telerik.Web.UI.WebResource.axd?type=rau`, uploads a DLL to `C:\Windows\Temp` on the target, and triggers deserialization to execute the payload. The default payload is a reverse shell, but the framework allows for custom DLLs to be used. The exploit is operational and provides remote code execution with a reverse shell on vulnerable targets.

menashe12346Disclosed Oct 23, 2025pythoncnetwork
CVE-2019-18935-exploit-studyMaturityPoCVerified exploit

This repository is an in-depth exploit and study environment for CVE-2019-18935, a critical remote code execution vulnerability in Telerik UI for ASP.NET AJAX. The main exploit script (Exploit/CVE-2019-18935.py) is a Python proof-of-concept that automates the exploitation process: it uploads a malicious DLL payload via the vulnerable RadAsyncUpload handler and then triggers deserialization to execute the payload on the server. The repository includes: - Python exploit script (CVE-2019-18935.py) for automating the attack. - Batch script (build-dll.bat) and C source files (reverse-shell.c, sleep.c) for building custom mixed-mode DLL payloads, including a reverse shell. - A full ASP.NET demo application (TelerikDemo/) with RadAsyncUpload enabled, for local testing and research. - The exploit targets the endpoint https://<HOST>/Telerik.Web.UI.WebResource.axd?type=rau, which is the handler vulnerable to this attack. - The exploit is operational: it provides a working payload (reverse shell) and can be used to achieve remote code execution on vulnerable targets. The repository is well-structured for both research and practical exploitation, containing all necessary components to demonstrate and test the vulnerability end-to-end.

quyt0Disclosed Sep 11, 2025pythoncnetwork
CVE-2019-18935-bypasswafMaturityPoCVerified exploit

This repository provides a comprehensive exploit toolkit for multiple vulnerabilities in Telerik UI for ASP.NET AJAX, specifically targeting CVE-2017-11317, CVE-2017-11357 (arbitrary file upload via RadAsyncUpload), and CVE-2019-18935 (.NET deserialization leading to remote code execution). The main exploit logic is implemented in 'exp.py', which leverages cryptographic routines from 'RAU_crypto/RAU_crypto.py' to generate and encrypt payloads compatible with the vulnerable Telerik endpoint. The exploit supports both file upload and .NET deserialization vectors, allowing attackers to upload arbitrary files (such as webshells or DLLs) and execute code on the target server. The toolkit is operational and includes support for custom payloads, proxying through Burp Suite, and bypassing WAFs by placing payloads in cookies. The repository is structured with clear separation between cryptographic routines, exploit logic, and documentation, and is intended for use against vulnerable Telerik installations where the necessary keys are known or default. The main fingerprintable endpoint is the 'Telerik.Web.UI.WebResource.axd?type=rau' handler, which is the target for all exploit actions.

ekkoo-zDisclosed Jul 9, 2025pythonnetwork
telerikMaturityPoCVerified exploit

This repository contains a Python exploit script (RCE.py) and a step-by-step guide for exploiting insecure deserialization in Telerik UI for ASP.NET AJAX (WebResource.axd endpoint). The main script, RCE.py, is a command-line tool that automates the process of generating .NET deserialization payloads using ysoserial.net (ysoserial.exe) via Wine, sending them to a specified vulnerable endpoint, and optionally retrieving command output from web-accessible directories on the target server. The script supports both Windows and Linux targets, allows for custom commands, and can save results to a file. It includes logic for proxy support, SSL verification, and verbose output. The included 'Step-by-Step' file provides setup instructions for the required tools (Wine, Mono, ysoserial.net). The exploit is operational and can achieve remote command execution (RCE) on vulnerable Telerik installations, with the ability to retrieve output if the command writes to a file in a web-accessible directory. The script is not a detection script; it is a full exploit requiring attacker-side setup and target-side vulnerability.

clarkvossDisclosed Mar 1, 2025pythonnetwork
CVE-2019-18935MaturityPoCVerified exploit

This repository provides a comprehensive proof-of-concept exploit for CVE-2019-18935, a critical remote code execution vulnerability in Telerik UI for ASP.NET AJAX. The exploit leverages insecure JSON deserialization in the Telerik WebResource handler, allowing attackers to upload and execute arbitrary DLL payloads on the target server. The main exploit script (CVE-2019-18935.py) orchestrates the attack by encrypting payloads using the RAU_crypto module (RAU_crypto/RAU_crypto.py), uploading them to the target via the vulnerable endpoint, and triggering deserialization to achieve code execution. The repository includes C source files for various payloads (reverse shell, sleep, Sliver C2 stager), a batch script (build-dll.bat) for compiling mixed-mode .NET assembly DLLs, and detailed documentation. The attack is network-based, targeting the /Telerik.Web.UI.WebResource.axd?type=rau endpoint, and requires knowledge of the encryption keys used by the target (default or custom). The exploit is operational, providing real-world payloads and automation for exploitation. The structure is modular, with clear separation between the exploit logic, cryptographic routines, and payload generation.

noperatorDisclosed Dec 12, 2019pythoncnetwork
CVE-2019-18935-memShellMaturityPoCVerified exploit

This repository provides an operational exploit for CVE-2019-18935, a vulnerability in Telerik UI for ASP.NET AJAX that allows remote code execution via insecure deserialization. The exploit consists of a C++ DLL (memShell.cpp) that, when loaded, injects a custom .NET assembly (memshell) into the AppDomain of a process running the 'Telerik.Web.UI' assembly. The README describes the build process, which involves compiling a C# web shell, converting it to a byte array, embedding it in the C++ code, and building the DLL. The DLL's DllMain spawns a thread that locates the target AppDomain and loads the shell assembly, creating an instance of a class (likely a web shell or backdoor). The exploit is not a detection script but a functional payload loader, and is intended for use after gaining the ability to load arbitrary DLLs on a vulnerable server. No network endpoints are hardcoded; the main fingerprintable target is the 'Telerik.Web.UI' AppDomain, indicating the exploit is specifically tailored for Telerik UI for ASP.NET AJAX on Windows.

dust-lifeDisclosed Dec 25, 2023cppcsharplocal
RAU_cryptoMaturityPoCVerified exploit

This repository contains a Python exploit script (RAU_crypto.py) targeting multiple vulnerabilities in Telerik UI for ASP.NET AJAX, specifically CVE-2017-11317, CVE-2017-11357 (arbitrary file upload and insecure direct object reference), and CVE-2019-18935 (.NET deserialization). The exploit enables attackers to upload arbitrary files to the server and execute arbitrary code via deserialization of attacker-supplied .NET assemblies, either from local or remote (SMB) sources. The script supports custom payloads, encryption/decryption of rauPostData, and can test for the target's ability to load remote payloads. The README provides detailed usage instructions, example commands, and context about the vulnerabilities. The main attack vector is network-based, targeting the Telerik WebResource.axd endpoint. The repository is operational and suitable for real-world exploitation given the correct target configuration and knowledge of required keys.

bao7uoDisclosed Jan 9, 2018pythonnetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
TelerikUi For Asp.Net Ajaxapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

ACTIVITY FEED

Recent activity

21 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence3

Every observed campaign linking this CVE to a named adversary.

Associated malware8

Malware families riding this exploit, with evidence and IOCs.

Detection signatures2

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity1

Community discussion across Reddit, Mastodon, and other social sources.