
Lettura arbitraria di file non autenticata tramite percorso assoluto
Lettura Arbitraria di File non Autenticata tramite Percorso Assoluto
Mentre il metodo Path.resolve() viene utilizzato per proteggere dal path traversal, ho scoperto che l'uso di un percorso assoluto riesce a leggere con successo i file interni; l'endpoint inoltre non è autenticato, il che significa che chiunque può leggere l'intero filesystem dei file dell'organizzazione a partire dalla root di storage configurata in: files.store.root = /file-store/ come impostato in application-dev.properties. Ciò consente un accesso non autorizzato a file interni sensibili.
il metodo storageService.loadAsResource() usa Path.resolve() senza prima assicurarsi che il nome in input sia un percorso relativo e che il percorso risolto rimanga all'interno della root di storage dei file prevista; fornire quindi un percorso assoluto come fileName porterà direttamente all'accesso a quel file arbitrario.
inoltre, l'endpoint /api/v1/files/{fileName} è esposto senza alcun controllo di autenticazione o autorizzazione, consentendo a qualsiasi utente non autenticato di accedere ai file.
uso:
python3 CVE-2025-46822.py http://victim.com /etc/passwd
Link: