
NotCVE-2026-0009 — Mis à jour !
Vulnérabilité de traversée de chemin dans NitroShare v0.3.4
Vulnérabilité de traversée de chemin dans nitroshare
Description
NitroShare Desktop v0.3.4 contient une vulnérabilité de traversée de chemin dans son serveur de transfert de fichiers LAN. Le serveur écoute sur toutes les interfaces réseau (port 40818) sans authentification. Lors de la réception de fichiers, le champ name de l'en-tête d'élément JSON de l'expéditeur est transmis sans vérifier que le chemin résolu reste dans le répertoire racine de transfert, C:\UserName\Downloads\NitroShare. Un attaquant sur le même LAN peut envoyer un nom de fichier spécialement conçu contenant des séquences ../ (attaque classique de type « dot dot slash ») pour écrire des fichiers partout où l'utilisateur courant a accès, y compris le dossier de démarrage de Windows pour une exécution de code à la prochaine connexion (d'où le POC qui a été créé). Aucune interaction de l'utilisateur n'est requise. De plus, TLS est désactivé par défaut (la méthode d'authentification que l'application propose), ce qui signifie qu'aucune authentification n'est requise par défaut, et je suppose que la plupart des utilisateurs n'en utiliseront pas, d'après des années de travail dans l'informatique et la sécurité de l'information.
Étapes de reproduction
- Connectez-vous au serveur de transfert de NitroShare sur le port TCP 40818 depuis le LAN.
- Envoyez un paquet d'en-tête de transfert JSON :
{"name":"attacker","size":"<n>","count":"1"}. - Envoyez un paquet d'en-tête d'élément JSON avec un nom de fichier de traversée de chemin :
{"name":"../../AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/payload.exe","directory":false,"created":"0","last_modified":"0","last_read":"0","size":"<n>"} - Envoyez un ou plusieurs paquets binaires contenant le contenu du fichier malveillant.
- Le fichier est écrit en dehors du répertoire de téléchargement, vers le chemin choisi par l'attaquant.
- Si le dossier de démarrage est ciblé, la charge utile s'exécute automatiquement à la prochaine connexion de l'utilisateur.
Un PoC fonctionnel est fourni (poc_path_traversal_via_lan_transfer___arbitrary_file_w.py) et a été vérifié contre NitroShare 0.3.4 sous Windows.
Remédiation suggérée
- Assainir les noms de fichiers reçus — Supprimez ou rejetez les séparateurs de chemin (
/,\) et les séquences... Après résolution avecQDir::absoluteFilePath(), vérifiez que le résultat commence par le répertoire racine de transfert avant de continuer. - Exiger un mot de passe ou activer TLS par défaut — Livrez avec TLS activé et générez automatiquement des certificats lors de la première exécution, ou créez une option permettant d'utiliser un mot de passe.
- Ajouter une invite d'approbation des transferts — Invitez l'utilisateur avant d'écrire les fichiers reçus sur le disque.
- Implémenter l'authentification — Exigez un mécanisme d'appairage (secret partagé, code QR ou échange de certificats) avant d'accepter les transferts.
Chronologie de divulgation
- 13 avril 2026 - Développeur contacté par e-mail publié sur le dépôt Github. Pas de réponse.
- 19 avril 2026 - Deuxième tentative. Pas de réponse.
- 3 mai 2026 - Troisième tentative. Pas de réponse.
- 22 juillet 2026 - NotCVE-2026-0009 attribué
- 28 juillet 2026 - CVE-2026-66050 attribué