Un bug logico è un difetto nel modo in cui il software prende decisioni, verifica le autorizzazioni o tiene traccia dello stato. A differenza di un errore di sicurezza della memoria, non dipende dalla lettura o dalla scrittura errata della memoria: il programma può gestire i dati in modo sicuro e tuttavia giungere alla conclusione sbagliata o consentire un'azione non valida.
Nella cybersicurezza, i bug logici possono compromettere l'autenticazione, i controlli di accesso o i confini di isolamento. Gli aggressori possono sfruttare un singolo difetto o concatenarne diversi, per esempio per indurre un componente del browser a fidarsi di una richiesta non sicura o per oltrepassare il confine di una sandbox. I difensori possono ridurre il rischio con una progettazione e test di sicurezza accurati, verifiche delle transizioni di stato e dei controlli di autorizzazione, aggiornamenti tempestivi e monitoraggio dei comportamenti imprevisti. Le sole protezioni della memoria potrebbero non rilevare questi difetti.


