Lo stato lato client è qualsiasi dato che un'applicazione web memorizza nel browser o invia indietro con le richieste e poi usa sul server, come cookie, campi di modulo nascosti, localStorage o view state. Può migliorare le prestazioni e mantenere le web app senza stato, ma resta comunque sotto il controllo dell'attaccante se il browser o la richiesta vengono modificati.
I problemi di sicurezza iniziano quando un server si fida di questi dati per l'autenticazione, l'autorizzazione, l'avanzamento del flusso di lavoro, gli ID degli oggetti o l'elaborazione crittografica. Negli attacchi, uno stato lato client alterato può cambiare il contesto dell'account, aggirare i controlli o fornire valori malformati al codice di parsing e decrittazione. I difensori dovrebbero trattare tutto lo stato fornito dal browser come non attendibile, verificarne l'integrità con una convalida robusta lato server o con MAC, cifrare i valori sensibili quando necessario e ricalcolare le decisioni di sicurezza sul server invece di fidarsi di ciò che invia il client.


