
Vulnerabilidad de Path Traversal en NitroShare v0.3.4
NitroShare Desktop v0.3.4 contiene una vulnerabilidad de path traversal en su servidor de transferencia de archivos LAN. El servidor escucha en todas las interfaces de red (puerto 40818) sin autenticación. Al recibir archivos, el campo name del encabezado JSON del elemento del remitente se pasa sin verificar que la ruta resuelta permanezca dentro del directorio raíz de transferencia, C:\UserName\Downloads\NitroShare. Un atacante en la misma LAN puede enviar un nombre de archivo manipulado que contenga secuencias ../ (ataque clásico de dot dot slash) para escribir archivos en cualquier lugar al que el usuario actual tenga acceso, incluida la carpeta de Inicio de Windows para la ejecución de código en el próximo inicio de sesión (de ahí el PoC que se creó). No se requiere interacción del usuario. Además, TLS está deshabilitado por defecto (el método de autenticación que ofrece la aplicación), lo que significa que no se requiere autenticación por defecto, algo que supongo que la mayoría de los usuarios hará según años trabajando en TI y Seguridad de la Información.
{"name":"attacker","size":"<n>","count":"1"}.{"name":"../../AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/payload.exe","directory":false,"created":"0","last_modified":"0","last_read":"0","size":"<n>"}
Se proporciona un PoC funcional (poc_path_traversal_via_lan_transfer___arbitrary_file_w.py) que ha sido verificado contra NitroShare 0.3.4 en Windows.
/, \) y las secuencias ... Después de resolver con QDir::absoluteFilePath(), verifique que el resultado comience con el directorio raíz de transferencia antes de continuar.