
Preuve de concept bénigne pour CVE-2026-36227, une vulnérabilité de traversée de chemin dans l'inscription utilisateur d'Easy Chat Server 3.1. Démontre une écriture de fichier non autorisée via le paramètre UserName pour la recherche en sécurité autorisée et la reproduction locale.
Ce dépôt contient une preuve de concept bénigne pour CVE-2026-36227, un problème de traversée de chemin dans la gestion des inscriptions utilisateur d'Easy Chat Server 3.1.
Ce dépôt est destiné uniquement à la recherche en sécurité autorisée et à la reproduction locale. Ne l'utilisez pas contre des systèmes dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas d'autorisation explicite de test.
Easy Chat Server 3.1 accepte les données d'inscription via POST /registresult.htm. Le paramètre UserName n'est pas suffisamment assaini avant d'être utilisé par l'application. Une valeur de type traversée telle que ../../ecs-traversal-proof.txt peut amener l'application à écrire en dehors du chemin d'inscription utilisateur prévu.
Le PoC public utilise intentionnellement un nom de fichier de preuve inoffensif et ne contient pas de webshell exécutable ou de contenu d'exécution de commandes.
Vaibhav D. Barkade
/registresult.htmUserNameExécutez contre une instance de laboratoire que vous possédez ou que vous êtes autorisé à tester :
python3 poc.py 127.0.0.1 80
Afficher la requête sans l'envoyer :
python3 poc.py 127.0.0.1 80 --dry-run
Utiliser une valeur de preuve de traversée personnalisée :
python3 poc.py 127.0.0.1 80 --username '../../ecs-traversal-proof.txt'
Si la cible est vulnérable, le serveur traite la demande d'inscription avec la valeur UserName contrôlée par la traversée. L'opérateur doit inspecter l'installation d'Easy Chat Server ou le répertoire web/root pour l'artefact de preuve résultant.
La gravité suggérée dépend de l'environnement déployé et du chemin d'écriture accessible. Si des utilisateurs distants non authentifiés peuvent écrire dans un chemin exécutable web, le problème peut conduire à une exécution de code à distance et doit être traité comme élevé ou critique. Si l'écriture est limitée à des emplacements non exécutables, l'impact direct est une traversée de chemin et une écriture de fichier non autorisée.
UserName.