
Modèle Nuclei et scripts de validation pour détecter CVE-2019-18935, un RCE critique de désérialisation .NET dans Telerik UI pour ASP.NET AJAX, avec détection en plusieurs étapes et laboratoire Docker.
Ce dépôt contient un template Nuclei complet et validé pour détecter la CVE-2019-18935 (RCE par désérialisation dans Telerik UI for ASP.NET AJAX), créé pour le programme de primes ProjectDiscovery.
CVE-2019-18935 est une vulnérabilité critique de désérialisation .NET dans Progress Telerik UI for ASP.NET AJAX (des versions 2011.1.315 à 2019.3.1023) qui permet une exécution de code à distance sans authentification. Cette vulnérabilité :
.
├── README.md # This file
├── BOUNTY_PLAN.md # Original planning document
├── nuclei-templates/
│ └── cves/
│ └── 2019/
│ └── CVE-2019-18935.yaml # Main Nuclei template
├── docker-environment/ # Vulnerable test environment
│ ├── Dockerfile
│ ├── docker-compose.yml
│ ├── web.config
│ ├── Default.aspx
│ └── README.md
├── scripts/ # Exploitation and validation scripts
│ ├── RAU_crypto.py # Encryption helper module
│ ├── telerik_version_detect.py # Version detection tool
│ └── telerik_exploit_poc.py # POC validation script
├── documentation/ # Technical documentation
│ ├── TESTING.md # Testing guide
│ └── METHODOLOGY.md # Detection methodology
├── debug-output/ # Debug logs and results (to be generated)
└── payloads/ # Test payloads (optional)
✅ Implémentation POC complète - Pas seulement une détection de version
✅ Validation multi-étapes - Découverte du handler + vérification de version + preuve d'exploitation
✅ Faible taux de faux positifs - Condition ET sur plusieurs matchers
✅ Non destructif - Test sûr sans exploitation réelle
✅ Extraction complète - Informations de version, détails d'erreur, étapes de détection
✅ Bien documenté - Méthodologie complète et guides de test inclus
# Install Nuclei
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Install Python dependencies (for validation scripts)
pip3 install -r requirements.txt
# Install Docker (for test environment)
# See: https://docs.docker.com/get-docker/
# Test against a single target
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://target.com \
-v
# Test with debug output
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://target.com \
-debug -v
# Test against multiple targets
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-l targets.txt \
-json -o results.json
# Navigate to docker environment
cd docker-environment
# Important: Obtain Telerik.Web.UI.dll first (see docker-environment/README.md)
# Place the DLL in this directory
# Build and start
docker-compose up -d
# Verify it's running
curl http://localhost:8080/Telerik.Web.UI.WebResource.axd?type=rau
# Test the template
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://localhost:8080 \
-debug -v \
2>&1 | tee debug-output/test-run.log
[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...
cd scripts
# Detect Telerik version and check vulnerability
python3 telerik_version_detect.py http://target.com
# Output:
# [+] Handler found: http://target.com/Telerik.Web.UI.WebResource.axd?type=rau
# [+] Detected version: 2017.2.503
# [!] VULNERABLE: Version in range 2011.1.315 - 2019.3.1023
# Run non-destructive POC
python3 telerik_exploit_poc.py http://target.com/Telerik.Web.UI.WebResource.axd?type=rau
# Output:
# [+] Handler is accessible
# [+] Upload capability confirmed
# [+] Deserialization processing detected
# [!] VULNERABILITY: CONFIRMED
Le template utilise un processus de détection en trois étapes :
Étape 1 - Découverte du handler :
/Telerik.Web.UI.WebResource.axd?type=rauÉtape 2 - Énumération de version :
rauPostData invalideÉtape 3 - Preuve d'exploitation :
__typeLes trois étapes doivent réussir pour une détection positive (condition ET).
Voir documentation/METHODOLOGY.md pour tous les détails techniques.
⚠️ Important : Ce template est marqué comme intrusif car il :
N'utilisez ce template que contre :
La conformité légale relève de votre responsabilité.
curl http://target/Telerik.Web.UI.WebResource.axd?type=raupython3 scripts/telerik_exploit_poc.py <url>nuclei -t template.yaml -u <url> -debugdocker-compose logsVoir TESTING.md pour le guide de dépannage complet.
Ce template a été créé pour le programme de primes ProjectDiscovery. Pour des améliorations ou des problèmes :
Ce travail est fourni uniquement pour la recherche en sécurité et les tests autorisés. Utilisez-le de manière responsable et légale.
Créé pour le programme de primes ProjectDiscovery
Date de recherche : décembre 2025
Statut : Prêt pour la soumission ✅