/claim #14278
This submission adds a comprehensive, fully validated Nuclei template for CVE-2019-18935, a critical .NET deserialization vulnerability in Telerik UI for ASP.NET AJAX that has been actively exploited in the wild and is listed in CISA’s Known Exploited Vulnerabilities (KEV) catalog.
References:
This template implements a multi-stage detection methodology with complete POC validation (not just version detection):
Detection Stages:
All three stages must succeed (AND condition) for vulnerability confirmation.
Validated with a host running a vulnerable version and/or configuration (True Positive)
Validated with a host running a patched version and/or configuration (avoid False Positive)
Complete Repository: https://github.com/alanbarret/CVE-2019-18935
This submission includes:
Quick Setup:
# Clone repository
git clone git@github.com:alanbarret/CVE-2019-18935.git
cd CVE-2019-18935
# Create Python virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Test template against vulnerable Docker environment
cd docker-environment
# Note: You must obtain Telerik.Web.UI.dll separately (licensing restrictions)
# See docker-environment/README.md for instructions
# Build and run vulnerable environment
docker-compose up -d
# Run Nuclei template
cd ..
nuclei -t nuclei-template/cves/2019/CVE-2019-18935.yaml \
-u http://localhost:8080 \
-debug -v
Docker Environment Setup:
The repository includes a complete vulnerable test environment:
# Navigate to Docker environment
cd docker-environment
# Obtain Telerik.Web.UI.dll (v2017.2.503 or any version 2011.1.315-2019.3.1023)
# Place DLL in this directory
# See docker-environment/README.md for download instructions
# Build and start vulnerable environment
docker-compose build
docker-compose up -d
# Verify endpoint is accessible
curl http://localhost:8080/Telerik.Web.UI.WebResource.axd?type=rau
# Expected response: "RadAsyncUpload handler is registered succesfully"
Testing with Validation Scripts:
# Activate virtual environment
source venv/bin/activate
# Version detection
python3 scripts/telerik_version_detect.py http://localhost:8080
# Exploitation POC
python3 scripts/telerik_exploit_poc.py http://localhost:8080/Telerik.Web.UI.WebResource.axd?type=rau
Nuclei Debug Output:
# Run with full debug output
nuclei -t nuclei-template/cves/2019/CVE-2019-18935.yaml \
-u http://localhost:8080 \
-debug -verbose \
2>&1 | tee debug-output.log
# Expected output:
[CVE-2019-18935] [http] [critical] http://localhost:8080/Telerik.Web.UI.WebResource.axd
[EXTRACTED]
telerik_version: 2017.2.503.40
detection_stage: Handler detected in request 1, Version in request 2, Deserialization in request 3
error_details: Exception at Telerik.Web.UI...
Why This Template is Different:
Most Telerik templates only check for version disclosure. This template goes further by:
Security Note:
This template is tagged as intrusive because it:
Only use with explicit authorization on systems you own or have permission to test.
# Shodan
http.title:"Telerik" OR http.component:"Telerik UI"
# Fofa
app="Progress-Telerik-UI"
# Google Dork
inurl:Telerik.Web.UI.WebResource.axd
CVE-2019-18935/
├── nuclei-template/
│ └── cves/2019/CVE-2019-18935.yaml # Main template
├── docker-environment/ # Vulnerable test environment
│ ├── Dockerfile
│ ├── docker-compose.yml
│ ├── Default.aspx
│ └── web.config
├── scripts/ # Validation scripts
│ ├── RAU_crypto.py # Encryption helper
│ ├── telerik_version_detect.py # Version detection
│ └── telerik_exploit_poc.py # POC validation
├── documentation/
│ ├── METHODOLOGY.md # Technical methodology
│ └── TESTING.md # Testing guide
├── requirements.txt # Python dependencies
└── README.md # Complete documentation
This template was created with extensive research and testing to ensure:
The vulnerability has significant real-world impact (CISA KEV, APT exploitation) and this template provides reliable detection for security teams.
Submission Status: Ready for review ✅
Alan Barret
@alanbarret
ProjectDiscovery
@projectdiscovery