Vulnerabilità nel server HTTP muhttpd, che consente l'accesso a file al di fuori della directory di lavoro

Nel server HTTP muhttpd, utilizzato principalmente nei router e nei punti di accesso, è stata individuata una vulnerabilità (CVE-2022-31793) che consente a un attaccante non autenticato di caricare file arbitrari inviando una richiesta HTTP appositamente formattata, nei limiti dei diritti di accesso con cui opera il server HTTP (in molti dispositivi, muhttpd viene eseguito con i privilegi di root). Ad esempio, un attaccante può accedere a file contenenti password, impostazioni di accesso wireless, parametri di connessione al fornitore e chiavi private.

Il problema è causato da un errore nella gestione del percorso nella richiesta, il che consente l'accesso a file al di fuori della root del server web. L'attacco consiste nell'indicare all'inizio del percorso un qualsiasi carattere aggiuntivo diverso da un punto, uno slash o un punto interrogativo. Ad esempio, per caricare il file /etc/hosts è sufficiente inviare la richiesta «GET a/etc/hosts» oppure «GET a/etc/hosts» (printf «GET b/etc/hosts\n\n» | nc server port).

La causa di questo comportamento è che l'apertura del file richiesto avviene tramite il comando «open(&req->filename[1], O_RDONLY)», con precedenti esecuzione della funzione chdir() per spostarsi nella root. web server. L'indicazione &req->filename[1] porta all'ignoramento del primo simbolo del percorso (gli sviluppatori presumono che il primo simbolo sia sempre «/»). Pertanto, con la richiesta «GET /etc/hosts», il server tenterà di aprire il file tramite il percorso relativo «etc/hosts», ma se si specifica un simbolo aggiuntivo all'inizio («GET a/etc/hosts»), il percorso successivo verrà elaborato completamente.

Il problema è presente sin dalla prima versione di muhttpd e risolto nella release 1.1.7. Tra i dispositivi che utilizzano muhttpd, la presenza del problema è confermata nei router SaskTel e Arris. Potenzialmente, il problema potrebbe manifestarsi anche nei dispositivi prodotti da AT&T, Frontier e Windstream. Limitando l'accesso alla porta HTTP solo alla rete interna, un attacco può essere portato a termine da una rete esterna tramite la tecnica del «DNS rebinding», che consente di inviare una richiesta HTTP su una porta di rete non accessibile direttamente tramite internet quando un utente apre una determinata pagina nel browser.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster