Un padding oracle è un canale laterale in cui un'applicazione rivela, tramite messaggi di errore diversi, tempi di risposta o comportamento, se il ciphertext decifrato aveva un padding valido. Ciò è in genere rilevante con cifrari a blocchi in modalità CBC, dove il plaintext deve essere riempito con padding fino a un blocco completo prima della cifratura. Se un attaccante può inviare ripetutamente ciphertext modificati e osservare la risposta, spesso può dedurre byte dei dati protetti senza conoscere la chiave.
I padding oracle sono pericolosi perché trasformano un controllo di decifratura in uno strumento di sondaggio. Negli attacchi reali, possono essere usati per recuperare dati di sessione, cookie o altri valori cifrati, e in alcuni sistemi i dati recuperati o falsificati possono essere concatenati in una compromissione più ampia lato server. Le difese includono l'uso di cifratura autenticata come AES-GCM, la restituzione di risposte di errore uniformi, l'evitare distinti fallimenti di decifratura e la validazione dei messaggi in tempo costante, così che gli attaccanti non possano capire quale passaggio sia fallito.


