L'esecuzione delle istruzioni Binary Assembled funziona sfruttando la vulnerabilità nel Programma Applicativo. Ad esempio inserendo un codice dannoso in un PDF, se c'è un difetto nel Software PDF, il Codice dalla Sezione Dati può essere eseguito.
Ora veniamo alla tua domanda. Per quanto ne so dopo 8086 , Intel ha iniziato a utilizzare 4 livelli di protezione. Il livello interno è per Processi di livello kernel e il livello più esterno è per Processi a livello di utente . Ci sono pile separate per entrambi i processi ma lo spazio di memoria è condiviso.
Un processo a livello utente (chiamante) non può eseguire direttamente un'attività con privilegi, deve chiamare un codice fidato che faccia il lavoro per il chiamante.Ma per il processo a livello utente per chiamare il codice di fiducia dire di scrivere un elemento dati X, dovrebbe avere il permesso di farlo (indirettamente).
Esistono alcuni exploit comunemente chiamati Cavalli di Troia che consentono al processo Livello utente di utilizzare un codice attendibile per eseguire attività che in realtà non è autorizzato a fare.
Quindi, se lo stesso programma applicativo presenta delle vulnerabilità, combinando ciò con tali exploit può ottenere il codice desiderato in esecuzione.