
Ho trovato una vulnerabilità zero-day in OpenClaw — ecco come è andata
Mentre esaminavo il codice sorgente, mi sono concentrato su come OpenClaw gestisce le richieste HTTP — in particolare la funzione fetchWithSsrFGuard(), responsabile delle chiamate fetch lato server.
Ho notato qualcosa di strano.
Quando una richiesta seguiva un reindirizzamento cross-origin (ovvero il server inviava una risposta 3xx che puntava a un dominio diverso), OpenClaw avrebbe dovuto rimuovere gli header sensibili prima di inoltrare la richiesta alla nuova destinazione. Lo faceva — ma solo per una lista nera ristretta e hardcoded:
Authorization, Proxy-Authorization, Cookie, Cookie2
Il problema? Quella lista è incompleta.
Header di autorizzazione personalizzati come X-Api-Key, Private-Token o qualsiasi altro header in stile bearer che gli sviluppatori usano comunemente — nessuno di questi veniva rimosso. Venivano inoltrati così come erano alla destinazione del reindirizzamento.
Questo significa: se un attaccante poteva controllare o influenzare dove puntava un reindirizzamento, poteva ricevere credenziali sensibili che non gli erano mai state destinate.
Immagina che la tua applicazione usi OpenClaw per chiamare un'API interna con un header X-Api-Key personalizzato. Un server malintenzionato risponde con un reindirizzamento verso un URL controllato dall'attaccante. OpenClaw segue il reindirizzamento — e inoltra la tua chiave API direttamente insieme alla richiesta.
Game over. Le tue credenziali sono ora nelle mani di qualcun altro.
Punteggio CVSS 3.1: 9.3 (Critico)
I manutentori hanno sostituito l'approccio della lista nera con una lista bianca di header sicuri. Invece di cercare di bloccare gli header noti come dannosi, la nuova logica consente solo il passaggio di header noti come sicuri sui reindirizzamenti cross-origin — cose come la negoziazione del contenuto e i validatori di cache. Tutto il resto viene rimosso per impostazione predefinita.
Questo è l'approccio corretto. La sicurezza basata su lista nera è fragile; la sicurezza basata su lista bianca è robusta.
Riferimenti
46715371b0612a6f9114dffd1466941ac476cef5<= 2026.3.2>= 2026.3.7Aggiorna immediatamente a >= 2026.3.7.
Se usi header di autorizzazione personalizzati (come X-Api-Key o Private-Token) e stavi usando una versione precedente, tratta quelle credenziali come potenzialmente compromesse e ruotale.