
Lectura arbitraria de archivos sin autenticación mediante ruta absoluta
Lectura arbitraria de archivos sin autenticación mediante ruta absoluta
Mientras que el método Path.resolve() se usa para proteger contra el path traversal, he descubierto que el uso de una ruta absoluta permite leer archivos internos con éxito; el endpoint tampoco está autenticado, lo que significa que cualquiera puede leer todos los archivos de la organización, el sistema de archivos desde donde se encuentre la raíz de almacenamiento en: files.store.root = /file-store/ como se configura en application-dev.properties, esto permite el acceso no autorizado a archivos internos sensibles.
el método storageService.loadAsResource() usa Path.resolve() sin asegurarse primero de que el nombre de entrada sea una ruta relativa y de que la ruta resuelta permanezca dentro de la raíz de almacenamiento de archivos prevista; entonces, proporcionar una ruta absoluta como fileName conduce directamente a acceder a ese archivo arbitrario.
Además, el endpoint /api/v1/files/{fileName} está expuesto sin controles de autenticación ni autorización, lo que permite que cualquier usuario no autenticado acceda a los archivos.
uso:
python3 CVE-2025-46822.py http://victim.com /etc/passwd
Enlaces: