Para agregar en la respuesta de @ scuzzy-delta: por definición, el exceso de búfer en el código aplicativo afecta solo al código aplicativo. El sistema operativo mantiene el aislamiento entre los distintos procesos y no permitirá que un proceso acceda al espacio de memoria de otro proceso.
Si la saturación del búfer es de la persuasión de "escritura" (el atacante obliga al objetivo a escribir bytes más allá del final del búfer), entonces esto puede convertirse en un secuestro hostil, en el que el el atacante toma el control de la aplicación de destino y hace que haga su oferta. Los privilegios en el nivel de la aplicación ya son suficientes para realizar un daño considerable, como leer (por ejemplo) todo el perfil del navegador, capturar el contenido de la pantalla y las entradas del teclado, y así sucesivamente (cuando ocurre en el lado del "cliente", por ejemplo, en un navegador ). Sin embargo, en este caso, la vulnerabilidad "de corazón" es una saturación de "lectura", que revela datos pero no afecta al sistema de destino. Esto excluye el riesgo inmediato de un secuestro hostil y sus terribles consecuencias.
However...
La obtención de secretos de la memoria aplicativa del proceso objetivo puede ser aprovechada para un ataque más extenso. Por ejemplo, si el objetivo es un servidor web, el problema del corazón puede revelar (con la cantidad adecuada de suerte) los nombres y contraseñas de algunos otros usuarios, que luego se pueden usar para iniciar sesión como estos usuarios. Esto puede ser problemático.
Para un navegador web, es decir, en el lado del cliente, se puede observar que algunos tienen la costumbre de lanzar distintas instancias de proceso, para evitar problemas de fragmentación de la memoria en sesiones de larga duración, y también para evitar perder todo el navegador cuando el complemento Flash falla. Sin embargo, no todos los navegadores hacen eso, e incluso para aquellos que lo hacen, no lo hacen de manera sistemática. Siguen las heurísticas para agrupar pestañas "juntas" en un solo proceso.
Un punto adicional es que este proceso a menudo usa algo de memoria compartida para intercambiar parte de la información necesaria, en particular la contraseña y los cachés de cookies, y las sesiones SSL. Precisamente el tipo de datos jugosos que el atacante desea obtener.
En el lado positivo, atacar al cliente requiere que el servidor con el que el cliente habla se ejecute el ataque. No puede ser iniciado por el atacante; debe esperar a que los clientes se conecten.