Un errore logico è un errore di programmazione nel modo in cui il software prende decisioni, applica regole o verifica condizioni. Il codice può essere sintatticamente corretto e stabile, ma comportarsi in modo errato perché la logica del flusso di controllo, della convalida o dell'autorizzazione è sbagliata. Nei componenti sensibili alla sicurezza, questo può trasformare un piccolo difetto in un grave aggiramento.
Gli errori logici sono importanti perché gli attaccanti spesso cercano punti in cui un sistema si fida dello stato sbagliato, salta un controllo dei permessi o accetta un'azione fuori sequenza. Questo può portare a un'escalation dei privilegi, a un aggiramento dei permessi o ad altri fallimenti dei confini. Nelle difese reali, sviluppatori e tester individuano questi bug con revisioni del codice, modellazione delle minacce e test dei confini, soprattutto in componenti di basso livello come firmware, modem e percorsi di autenticazione, dove una singola decisione sbagliata può indebolire l'intero dispositivo.


