Intel CET protege contra la programación orientada al retorno, no los desbordamientos de búfer en sí. Su trabajo es asegurarse de que cada instrucción RET vuelva a la misma dirección de la que provino su instrucción CALL correspondiente, y eso es todo. Para hacer esto, el hardware mantiene una sección de memoria llamada "pila de sombra" que está fuera del alcance del programa en sí. Cada instrucción CALL empuja la dirección de retorno apropiada en la pila sombra, y cada RET saca el valor superior de la pila sombra y bloquea el proceso si ese valor no es igual al valor de retorno en la pila real.
La programación orientada hacia el retorno es una forma de evitar la tecnología DEP (o NX). Ya que con DEP no puedes simplemente inyectar más el código ejecutable, en lugar de eso, puedes usar ROP para sobrescribir las direcciones de retorno y unir los fragmentos del propio código del programa en un orden que hace que haga su oferta.
Los desbordamientos de búfer se utilizan para inyectar cargas útiles en el espacio de la memoria de un proceso, y esas cargas útiles pueden ser cargas de ROP. Pero no hay una relación fundamental entre los desbordamientos de búfer y Intel CET.