br_table è un’istruzione WebAssembly che seleziona una destinazione di diramazione da un elenco usando un valore indice. È comunemente usata per implementare un flusso di controllo simile a quello di un’istruzione switch. Se l’indice non corrisponde a nessuna delle destinazioni elencate, l’istruzione usa una destinazione predefinita specificata.
I runtime compilano le istruzioni WebAssembly come br_table in codice macchina nativo, quindi una gestione corretta è importante per preservare il flusso di controllo del modulo e i confini della sandbox. In un attacco, un modulo appositamente predisposto può esercitare tabelle di diramazione insolite o di grandi dimensioni per far emergere errori del compilatore; un difetto nella traduzione potrebbe far sì che l’esecuzione si comporti al di fuori delle regole previste. I difensori dovrebbero mantenere aggiornati i runtime WebAssembly e limitare i moduli non attendibili che compilano o eseguono.


